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


СВОЙСТВО БАЗЫ ДАННЫХ TRUSTWORTHY

Свойство базы данных TRUSTY используется для указания того, доверяет ли экземпляр SQL Server базе данных и содержимому в ней. По умолчанию этот параметр имеет значение OFF, но его можно задать с помощью инструкции ALTER DATABASE. Например: ALTER DATABASE AdventureWorks2012 SET TRUSTWORTHY ON;.

Замечание

Чтобы задать этот параметр, необходимо быть членом фиксированной роли сервера sysadmin.

Это свойство можно использовать для уменьшения определенных угроз, которые могут существовать в результате подключения базы данных, содержащей один из следующих объектов:

  • вредоносные сборки с параметром разрешения EXTERNAL_ACCESS или UNSAFE. Дополнительные сведения см. в статье CLR Integration Security.

  • вредоносные модули, выполняемые в контексте привилегированных пользователей. Дополнительные сведения см. в разделе EXECUTE AS (Transact-SQL).

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

Так как база данных, подключенная к экземпляру SQL Server, не может быть немедленно доверенной, база данных не может получить доступ к ресурсам за пределами области базы данных, пока база данных не будет явно помечена как надежная. Кроме того, модули, предназначенные для доступа к ресурсам за пределами базы данных и сборок с параметром разрешения EXTERNAL_ACCESS и UNSAFE, имеют дополнительные требования для успешного выполнения.

Центр безопасности для ядра СУБД SQL Server и Базы данных Azure SQL

Изменить базу данных (Transact-SQL)