Конфигурация сервера: сквозное связывание владения между базами данных

Область применения:SQL Server

cross db ownership chaining Используйте параметр для настройки цепочки владения между базами данных для экземпляра SQL Server.

Этот серверный параметр позволяет управлять межбазовыми цепочками владения на уровне базы данных и обеспечивает применение межбазовых цепочек владения для всех баз данных:

  • Если cross db ownership chaining отключён (0) для этого экземпляра, сквозное владение между базами данных отключается для всех баз данных.

  • Если для экземпляра включен параметр cross db ownership chaining (1), сквозная цепочка владения между базами данных включена для всех баз данных.

  • Вы можете настроить сквозную цепочку владения между базами данных для отдельных баз данных с помощью предложения SET инструкции ALTER DATABASE. Если вы создаете новую базу данных, можно задать параметр цепочки владения между базами данных для новой базы данных с помощью инструкции CREATE DATABASE .

    cross db ownership chaining Параметр 1 не рекомендуется, если все базы данных, размещенные экземпляром SQL Server, должны участвовать в цепочке владения между базами данных, и вы знаете о последствиях безопасности этого параметра.

Проверка состояния сквозной цепочки владения между базами данных

Чтобы определить текущее состояние межбазовой цепочки владения, выполните следующий запрос.

SELECT is_db_chaining_on,
       name
FROM sys.databases;

Результат, равный 1, означает, что перекрёстная цепочка владения между базами данных включена.

Управление цепочками наследования прав владения между базами данных

Прежде чем включать или отключать цепочку владения между базами данных, выполните приведенные выше действия.

  • Для включения и выключения межбазовых цепочек владения необходимо быть членом предопределенной роли сервера sysadmin .

  • Прежде чем отключить цепочку владения между базами данных на рабочем сервере, полностью протестируйте все приложения, включая сторонние приложения, чтобы убедиться, что изменения не влияют на функциональные возможности приложений.

  • Вы можете изменить параметр cross db ownership chaining во время работы сервера, если укажете RECONFIGURE вместе с sp_configure.

  • Если у вас есть базы данных, для которых требуется сквозное связывание владельцев между базами данных, рекомендуется отключить параметр cross db ownership chaining для экземпляра с помощью sp_configure; затем включить сквозное связывание владельцев между базами данных для отдельных баз данных, которым это требуется, с помощью инструкции ALTER DATABASE.

Риск безопасности

Включение цепочки владения между базами данных в SQL Server представляет потенциальную уязвимость безопасности. Если эта функция активна, локальный пользователь базы данных с повышенными привилегиями может использовать цепочку владения для повышения разрешений и потенциально получить доступ sysadmin .

Следует избегать включения цепочки владения между базами данных на уровне экземпляра, а её использование ограничивать только доверенными и связанными базами данных.