cross db ownership chaining 选项

使用 cross db ownership chaining 选项可以为 Microsoft SQL Server 实例配置跨数据库所有权链接。

此服务器选项使您能够在数据库级别控制跨数据库所有权链接,或者允许在所有数据库中启用跨数据库所有权链接:

  • 如果实例的 cross db ownership chaining 关闭(设置为 0),将禁用所有数据库的跨数据库所有权链接。

  • 如果实例的 cross db ownership chaining 打开(设置为 1),将启用所有数据库的跨数据库所有权链接。

  • 可以使用 ALTER DATABASE 语句的 SET 子句为各个数据库设置跨数据库所有权链接。如果正在创建新的数据库,则可以使用 CREATE DATABASE 语句设置新数据库的跨数据库所有权链接选项。

    建议不要将 cross db ownership chaining 设置为 1,除非 SQL Server 实例所驻留的所有数据库都必须参与跨数据库所有权链接,并且您了解此设置隐含的安全问题。有关详细信息,请参阅所有权链

控制跨数据库所有权链接

在打开或关闭跨数据库所有权链接之前,请注意下列事项:

  • 只有 sysadmin 固定服务器角色成员能够打开或关闭跨数据库所有权链接。

  • 关闭生产服务器的跨数据库所有权链接之前,应全面测试所有应用程序(包括第三方应用程序)以确保更改不会影响应用程序功能。

  • 如果使用 sp_configure 指定 RECONFIGURE,则在服务器运行时可以更改 cross db ownership chaining 选项。

  • 如果有数据库需要跨数据库所有权链接,建议使用 sp_configure 为实例关闭 cross db ownership chaining 选项;然后使用 ALTER DATABASE 语句打开需要此功能的各个数据库的跨数据库所有权链接。