Partilhar via


Configuração do servidor: encadeamento de propriedade cross db

Aplica-se a: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.

Esta opção de servidor permite controlar o encadeamento de propriedade entre bancos de dados no nível do banco de dados ou permitir o encadeamento de propriedade entre bancos de dados para 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 está 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 SETALTER DATABASE cláusula da 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 como 1 não é recomendada, a menos que todos os bancos de dados hospedados pela instância do SQL Server devam 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 de indica que o encadeamento de propriedade entre bancos de 1 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:

  • Você deve ser membro da função de servidor fixa sysadmin para ativar ou desativar o encadeamento de propriedade entre 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 cross db ownership chaining opção enquanto o servidor está em execução se 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 para a instância usando cross db ownership chaining; e, em seguida, ativar o sp_configure encadeamento de propriedade entre bancos de dados para bancos de dados individuais que o exijam com a instrução ALTER DATABASE.

Risco de segurança

Permitir a cadeia de propriedade entre bases de dados no SQL Server introduz uma potencial vulnerabilidade de segurança. Quando esta funcionalidade está ativa, um utilizador local de base de dados com privilégios elevados pode explorar a cadeia de propriedade para escalar permissões e, potencialmente, obter acesso de administrador de sistemas .

Deves evitar ativar a cadeia de propriedade entre bases de dados ao nível da instância e restringir a sua utilização apenas a bases de dados confiáveis e relacionadas.