不能使用特殊主体dbo:错误15405

时间:2011-01-10 06:27:47

标签: sql-server

我正在尝试在数据库的“用户映射”部分中向用户授予所有权限。但是,我遇到了这个错误:

“不能使用特殊主要dbo” alt text

用户的服务器角色:

alt text

4 个答案:

答案 0 :(得分:57)

这种情况正在发生,因为用户'sarin'是数据库“dbemployee”的实际所有者 - 因此,他们只能 拥有db_owner,并且无法分配任何其他数据库角色。

他们也不需要。如果他们是数据库所有者,他们已经有权在此数据库中执行任何他们想要的操作。

(要查看数据库的所有者,请打开数据库的属性。所有者列在常规选项卡上。)

要更改数据库的所有者,您可以使用sp_changedbownerALTER AUTHORIZATION(后者显然是未来开发的首选方式,但因为这种事情往往是一次性的。 ..)

答案 1 :(得分:19)

Fix: Cannot use the special principal ‘sa’. Microsoft SQL Server, Error: 15405

When importing a database in your SQL instance you would find yourself with Cannot use the special principal 'sa'. Microsoft SQL Server, Error: 15405 popping out when setting the sa user as the DBO of the database. To fix this, Open SQL Management Studio and Click New Query. Type:

USE mydatabase
exec sp_changedbowner 'sa', 'true'

Close the new query and after viewing the security of the sa, you will find that that sa is the DBO of the database. (14444)

Source: http://www.noelpulis.com/fix-cannot-use-the-special-principal-sa-microsoft-sql-server-error-15405/

答案 2 :(得分:1)

要解决此问题,请打开SQL Server Management Studio,然后单击新建查询。然后输入:

USE mydatabase
exec sp_changedbowner 'sa', 'true'

答案 3 :(得分:0)

此答案对于连接SharePoint的SQL数据库没有帮助。配置数据库需要db_securityadmin。要添加db_securityadmin,您需要将数据库的所有者更改为管理帐户。您只能将该帐户用于dbo角色。