Tri*_*nko 7 security permissions database-administration sql-server
我附加了一个数据库并尝试将所有者更改为有效的登录名。
我使用了语句:ALTER AUTHORIZATION ON database::my_db_name TO "sa"。数据库属性显示新所有者是“sa”,但是我仍然收到不受限制的 CLR 程序集(0x80FC80F1、0x8013150A)的权限错误,这与程序集信任问题有关。
我改用以下语句解决了这个问题: EXEC sp_changedbowner 'sa'; 更改数据库所有者。
我的问题是,这两种更改数据库所有者的方法有什么区别。它们是等价的吗?我似乎很清楚 sp_changedbowner 正在做更多/正确的事情,而更改授权声明没有做。
如果您有兴趣...在使用 sp_changedbowner 修复问题之前,我尝试过:
在您的列表中,我没有看到将数据库设置为值得信赖的,因此我假设您忘记了此步骤:
ALTER DATABASE my_db_name SET TRUSTWORTHY ON;
Run Code Online (Sandbox Code Playgroud)
但也许不是...
检查这篇文章:http://support.microsoft.com/kb/918040看来他们确实建议使用 sp_changedbowner 而不是 ALTER AUTHORIZATION。但事实是,它执行完全相同的操作(sp_changedbowner 在幕后调用 ALTER AUTHORIZATION)。不同之处在于,它还删除了 dbo 用户的“别名”(无论如何已弃用的功能)并强制设置数据库检查点。最后一件作品可能就是您正在寻找的作品。
归档时间: |
|
查看次数: |
35396 次 |
最近记录: |