bop*_*979 8 security sql-server
我们的一个 SQL 服务器上有一堆没有所有者的数据库。一般来说,给他们一个有害吗?例如:
USE dbName;
GO
EXEC sp_changedbowner 'sa';
GO
Run Code Online (Sandbox Code Playgroud)
我知道 sa 可能不是最好的选择,但这只是一个例子。我主要担心的是,在没有所有者的情况下创建所有者是否会导致当前可以正常连接的软件出现问题。
Aar*_*and 12
您应该使用 DDL 而不是向后兼容存储过程:
ALTER AUTHORIZATION ON DATABASE::dbName TO sa;
Run Code Online (Sandbox Code Playgroud)
并且数据库的所有者(没关系sa)可能不是您的应用程序使用的帐户,因此这应该不会对您的应用程序产生任何影响。如果是,那么您应该更新您的应用程序使用的连接字符串(这不应该是一个重大更改)并确保该帐户具有足够的 - 但不是上帝 - 特权。
通过声明数据库所有者,您可以让该用户完全控制数据库。数据库所有者可以完全访问所有表中的所有数据,能够访问CREATE/ALTER/DROP数据库中的对象等。这可能是好的也可能是坏的,这取决于您的要求。通常,我将所有数据库所有者设置为“sa”以提供默认所有者。由于“sa”已经拥有系统管理员权限,因此授予数据库所有权不会授予升级的安全性。
| 归档时间: |
|
| 查看次数: |
8954 次 |
| 最近记录: |