Compartilhar via


Configuração do servidor: encadeamento de propriedade entre bancos de dados

Aplica-se:SQL Server

Use a opção para configurar o cross db ownership chaining encadeamento de propriedade entre bancos de dados para uma instância do SQL Server.

Essa opção de servidor permite que você controle o encadeamento de propriedade no nível do banco de dados ou em todos os bancos de dados:

  • Quando cross db ownership chaining estiver desativado (0) para a instância, o encadeamento de propriedade entre bancos de dados será desabilitado para todos os bancos de dados.

  • Quando cross db ownership chaining estiver ativado (1) para a instância, o encadeamento de propriedade entre bancos de dados está ativado para todos os bancos de dados.

  • Você pode definir o encadeamento de propriedade entre bancos de dados para bancos de dados individuais usando a SET cláusula da ALTER DATABASE instrução. Se você estiver criando um novo banco de dados, poderá definir a opção de encadeamento de propriedade entre bancos de dados para o novo banco de dados usando a CREATE DATABASE instrução.

    A configuração cross db ownership chaining não é recomendada, 1 a menos que todos os bancos de dados hospedados pela instância do SQL Server precisem participar do encadeamento de propriedade entre bancos de dados e você esteja ciente das implicações de segurança dessa configuração.

Verificar o status do encadeamento de propriedade entre bancos de dados

Para determinar o status atual do encadeamento de propriedade entre bancos de dados, execute a seguinte consulta:

SELECT is_db_chaining_on,
       name
FROM sys.databases;

Um resultado indica 1 que o encadeamento de propriedade entre bancos de dados está habilitado.

Controlar o encadeamento de propriedade entre bancos de dados

Antes de ativar ou desativar o encadeamento de propriedade entre bancos de dados:

  • É necessário ser um membro da função de servidor fixa sysadmin para ativar ou desativar o encadeamento de propriedades de bancos de dados.

  • Antes de desativar o encadeamento de propriedade entre bancos de dados em um servidor de produção, teste totalmente todos os aplicativos, incluindo aplicativos de terceiros, para garantir que as alterações não afetem a funcionalidade do aplicativo.

  • Você pode alterar a opção cross db ownership chaining enquanto o servidor estiver em execução se você especificar RECONFIGURE com sp_configure.

  • Se você tiver bancos de dados que exigem encadeamento de propriedade entre bancos de dados, a prática recomendada é desativar a opção cross db ownership chaining para a instância usando sp_configure; em seguida, ative o encadeamento de propriedade entre bancos de dados para bancos de dados individuais que exigem isso com a instrução ALTER DATABASE .

Risco de segurança

Habilitar o encadeamento de propriedade entre bancos de dados no SQL Server introduz uma possível vulnerabilidade de segurança. Quando esse recurso está ativo, um usuário de banco de dados local com privilégios elevados pode explorar a cadeia de propriedade para escalar permissões e potencialmente obter acesso sysadmin.

Você deve evitar habilitar o encadeamento de propriedade entre bancos de dados no nível da instância e restringir seu uso apenas a bancos de dados confiáveis e relacionados.