Compartir a través de


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 obtener más información, vea Seguridad de la integración CLR.

  • 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 nivel específico de privilegios y están protegidas mediante mecanismos apropiados cuando se utilizan en el contexto de una base de datos que ya está adjunta a una instancia de SQL Server. Sin embargo, si se deja la base de datos sin conexión, un usuario que tenga acceso al archivo de la base de datos podría adjuntarlo a una instancia de SQL Server que desee y agregar contenido malintencionado a la base de datos. Cuando se separan y adjuntan bases de datos en SQL Server, se establecen ciertos permisos en los archivos de datos y de registro que restringen el acceso a los archivos de base de datos.

Puesto que no se puede confiar inmediatamente en una base de datos que se adjunta a una instancia de SQL Server, no se permite a la base de datos el acceso a recursos situados fuera del ámbito de la misma hasta que se marque 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.

Contenido relacionado

Seguridad y protección (motor de base de datos)

ALTER DATABASE (Transact-SQL)