contained database authentication 服务器配置选项

使用 contained database authentication 选项对 SQL Server 数据库引擎实例启用包含的数据库。

此服务器选项允许您控制 contained database authentication

  • contained database authentication 对实例关闭 (0) 时,将无法创建包含的数据库或将其附加到数据库引擎。

  • contained database authentication 对实例打开 (1) 时,将可以创建包含的数据库或将其附加到数据库引擎。

包含数据库包括定义数据库所需的所有数据库设置和元数据,它与安装数据库的数据库引擎实例没有配置依赖关系。 用户可以连接到数据库而无需在数据库引擎级别对登录名进行身份验证。 将数据库与数据库引擎隔离可以轻松地将数据库移到另一个 SQL Server实例。 在数据库中包括所有数据库设置有利于数据库所有者管理数据库的所有配置设置。 有关包含的数据库的详细信息,请参阅包含数据库

如果 SQL Server 实例具有包含数据库,则可以使用 RECONFIGURE WITH OVERRIDE 语句将 contained database authentication 设置为 0。 将 contained database authentication 设置为 0 将禁用包含数据库的包含数据库身份验证。

安全说明安全说明

启用了所包含的数据库后,具有 ALTER ANY USER 权限的数据库用户(如 db_owner 和 db_accessadmin 数据库角色的成员)可授予访问数据库的权限,并且由此可授予访问 SQL Server 的实例的权限。 这意味着对服务器访问权限的控制不再仅限于 sysadmin 和 securityadmin 固定服务器角色的成员,以及具有服务器级别 CONTROL SERVER 和 ALTER ANY LOGIN 权限的登录。 在允许包含的数据库之前,应了解与包含的数据库相关的风险。 有关详细信息,请参阅针对包含数据库的安全性最佳方法

示例

下面的示例在 数据库引擎的实例上启用包含的数据库。

sp_configure 'contained database authentication', 1;
GO
RECONFIGURE;
GO

请参阅

参考

sp_configure (Transact-SQL)

RECONFIGURE (Transact-SQL)

概念

服务器配置选项