Propriedade de banco de dados TRUSTWORTHY

A propriedade de banco de dados TRUSTWORTHY é usada para indicar se a instância do SQL Server confia no banco de dados e no conteúdo dentro dele. Por padrão, esta configuração é OFF, mas pode ser definida como ON usando a instrução ALTER DATABASE. Por exemplo, ALTER DATABASE AdventureWorks2012 SET TRUSTWORTHY ON;.

Observação

Para definir esta opção, é preciso ser um membro da função de servidor fixa sysadmin .

Essa propriedade pode ser usada para reduzir ameaças que podem ocorrer ao anexar um banco de dados que contenha um dos seguintes objetos:

  • Assemblies maliciosos com um definição de permissão EXTERNAL_ACCESS ou UNSAFE. Para obter mais informações, consulte CLR Integration Security.

  • Módulos maliciosos que são definidos para serem executados como usuários com altos privilégios. Para obter mais informações, veja Cláusula EXECUTE AS (Transact-SQL).

Essas duas situações exigem um grau específico de privilégios e são protegidas por mecanismos apropriados quando são usadas no contexto de um banco de dados que já está anexado a uma instância do SQL Server. No entanto, se o banco de dados for colocado offline, um usuário que tenha acesso ao arquivo de banco de dados poderá anexá-lo a uma instância de SQL Server de sua escolha e adicionar conteúdo mal-intencionado ao banco de dados. Quando os bancos de dados são desanexados e anexados em SQL Server, determinadas permissões são definidas nos arquivos de dados e de log que restringem o acesso aos arquivos de banco de dados.

Como um banco de dados anexado a uma instância do SQL Server não pode ser imediatamente confiável, o banco de dados não tem permissão para acessar recursos além do escopo do banco de dados até que o banco de dados seja explicitamente marcado como confiável. Além disso, os módulos que são criados para acessar recursos fora do banco de dados, e assemblies com as definições de permissão EXTERNAL_ACCESS e UNSAFE, têm requisitos adicionais para uma execução bem-sucedida.

Central de segurança do Mecanismo de Banco de Dados do SQL Server e Banco de Dados SQL do Azure

ALTER DATABASE (Transact-SQL)