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


Свойство базы данных TRUSTWORTHY

Свойство TRUSTWORTHY базы данных используется, чтобы указать, доверяет ли экземпляр SQL Server базе данных и ее содержимому. По умолчанию это свойство имеет значение OFF, но его можно установить в ON при помощи инструкции 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

ALTER DATABASE (Transact-SQL)