Поделиться через


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

Область применения: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 .

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