Свойство базы данных TRUSTWORTHYTRUSTWORTHY Database Property

ОБЛАСТЬ ПРИМЕНЕНИЯ: даSQL Server нетБаза данных SQL AzureнетХранилище данных SQL AzureнетParallel Data WarehouseAPPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Свойство TRUSTWORTHY используется для указания того, доверяет ли экземпляр SQL ServerSQL Server базе данных и ее содержимому.The TRUSTWORTHY database property is used to indicate whether the instance of SQL ServerSQL Server trusts the database and the contents within it. По умолчанию это свойство имеет значение OFF, но его можно установить в ON при помощи инструкции ALTER DATABASE.By default, this setting is OFF, but can be set to ON by using the ALTER DATABASE statement. Например, ALTER DATABASE AdventureWorks2012 SET TRUSTWORTHY ON;.For example, ALTER DATABASE AdventureWorks2012 SET TRUSTWORTHY ON;.

Примечание

Изменять это свойство могут только члены предопределенной роли сервера sysadmin .To set this option, you must be a member of the sysadmin fixed server role.

Это свойство позволяет уменьшить уязвимость системы перед рядом угроз, связанных с присоединением базы данных, содержащей один из следующих объектов:This property can be used to reduce certain threats that can exist as a result of attaching a database that contains one of the following objects:

  • вредоносные сборки с параметром разрешения EXTERNAL_ACCESS или UNSAFE.Malicious assemblies with an EXTERNAL_ACCESS or UNSAFE permission setting. Дополнительные сведения см. в статье CLR Integration Security.For more information, see CLR Integration Security.

  • вредоносные модули, выполняемые в контексте привилегированных пользователей.Malicious modules that are defined to execute as high privileged users. Дополнительные сведения см. в разделе Предложение EXECUTE AS (Transact-SQL).For more information, see EXECUTE AS Clause (Transact-SQL).

В обеих ситуациях объектам нужны конкретные права доступа, что повышает уязвимость системы. Для защиты от атак при использовании таких объектов в контексте базы данных, уже присоединенной к экземпляру SQL ServerSQL Server, применяют соответствующие механизмы.Both of these situations require a specific degree of privileges and are protected against by appropriate mechanisms when they are used in the context of a database that is already attached to an instance of SQL ServerSQL Server. Однако, если база данных переведена в режим работы «вне сети», пользователь, имеющий доступ к файлу базы данных, теоретически может присоединить ее к любому экземпляру SQL ServerSQL Server и добавить в нее вредоносное содержимое.However, if the database is taken offline, a user that has access to the database file can potentially attach it to an instance of SQL ServerSQL Server of his or her choice and add malicious content to the database. Когда в SQL ServerSQL Serverотсоединяются и присоединяются базы данных, для файлов данных и журналов задаются определенные разрешения, ограничивающие доступ к файлам базы данных.When databases are detached and attached in SQL ServerSQL Server, certain permissions are set on the data and log files that restrict access to the database files.

Так как база данных, присоединенная к экземпляру SQL ServerSQL Server , не может сразу стать доверенной, то ей не разрешается доступ к ресурсам вне ее области до тех пор, пока не будет явно отмечена как доверенная.Because a database that is attached to an instance of SQL ServerSQL Server cannot be immediately trusted, the database is not allowed to access resources beyond the scope of the database until the database is explicitly marked trustworthy. Таким образом, если вы создаете резервную копию базы данных или отсоединяете базу данных, параметру TRUSTWORTHY которой задано значение ON, и затем присоединяете или восстанавливаете базу данных на том же или другом экземпляре SQL Server, после присоединения или восстановления параметр TRUSTWORTHY будет иметь значение OFF.Therefore, if you backup or detach a database that has the TRUSTWORTHY option ON and you attach or restore the database to the same or another SQL Server instance, the TRUSTWORTHY property will be set to OFF upon attach/restore completion. Для успешного выполнения модулей, которые обращаются к ресурсам, внешним по отношению к базе данных, и сборок с параметром разрешения EXTERNAL_ACCESS или UNSAFE нужно, чтобы были удовлетворены кое-какие дополнительные требования.Also, modules that are designed to access resources outside the database, and assemblies with either the EXTERNAL_ACCESS and UNSAFE permission setting, have additional requirements in order to run successfully.

Центр обеспечения безопасности для базы данных Azure SQL и SQL Server Database EngineSecurity Center for SQL Server Database Engine and Azure SQL Database

ALTER DATABASE (Transact-SQL)ALTER DATABASE (Transact-SQL)