Propiedad de base de datos TRUSTWORTHY

La propiedad de base de datos TRUSTWORTHY sirve para indicar si la instancia de SQL Server confía en la base de datos y en su contenido. De forma predeterminada, se establece en OFF, pero puede establecerse en ON mediante la instrucción ALTER DATABASE. Por ejemplo, ALTER DATABASE AdventureWorks2012 SET TRUSTWORTHY ON;.

Nota

Para establecer esta opción, debe ser miembro del rol fijo de servidor sysadmin .

Esta propiedad se puede utilizar para reducir determinadas amenazas que existan como resultado de adjuntar una base de datos que contenga uno de los objetos siguientes:

  • Ensamblados malintencionados con permisos establecidos en EXTERNAL_ACCESS o UNSAFE. Para más información, consulte CLR Integration Security.

  • Módulos malintencionados que se definen para ejecutarse como si se tratase de usuarios con un alto nivel de privilegios. Para obtener más información, vea EXECUTE AS (cláusula de Transact-SQL).

Ambas situaciones requieren un grado específico de privilegios y están protegidas por mecanismos adecuados cuando se usan en el contexto de una base de datos que ya está asociada a una instancia de SQL Server. Sin embargo, si la base de datos se desconecta, un usuario que tiene acceso al archivo de base de datos puede adjuntarlo a una instancia de SQL Server de su elección y agregar contenido malintencionado a la base de datos. Cuando las bases de datos se desasocian y se adjuntan en SQL Server, se establecen determinados permisos en los archivos de datos y de registro que restringen el acceso a los archivos de base de datos.

Dado que una base de datos adjunta a una instancia de SQL Server no puede ser de confianza inmediata, la base de datos no puede tener acceso a los recursos fuera del ámbito de la base de datos hasta que la base de datos esté marcada explícitamente como de confianza. Además, los módulos que se han diseñado para tener acceso a recursos situados fuera de la base de datos, y los ensamblados con permisos EXTERNAL_ACCESS y UNSAFE, tienen requisitos adicionales para ejecutarse correctamente.

Centro de seguridad para el Motor de base de datos de SQL Server y Azure SQL Database

ALTER DATABASE (Transact-SQL)