Desabilitar restrições de verificação para replicação

Aplica-se a: SQL Server 2016 (13.x) e versões posteriores Banco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsBanco de dados SQL no Microsoft Fabric

Você pode desabilitar restrições de verificação no SQL Server usando o SQL Server Management Studio ou o Transact-SQL. É possível também desabilitar explicitamente as verificações de restrições de replicações, o que pode ser útil se você estiver publicando dados de uma versão anterior do SQL Server.

Note

Se uma tabela for publicada por meio da replicação, as restrições CHECK serão desabilitadas automaticamente para operações executadas pelos agentes de replicação. Quando um agente de replicação executa uma inserção, atualização ou exclusão em um Assinante, a restrição não é verificada; se um usuário executar uma inserção, atualização ou exclusão, a restrição será verificada. A restrição está desabilitada para o agente de replicação porque a restrição já foi verificada no Publicador quando os dados foram inseridos, atualizados ou excluídos originalmente. Para obter mais informações, veja Especificar opções de esquema.

Permissions

Exige a permissão ALTER na tabela.

Como usar o SQL Server Management Studio.

Desabilitar uma restrição CHECK para replicação

  1. No Pesquisador de Objetos, expanda a tabela com a restrição de verificação a ser modificada e expanda a pasta Restrições .

  2. Clique com o botão direito do mouse na restrição de verificação que você deseja modificar e clique em Modificar.

  3. Na caixa de diálogo Verificar Restrições , em Designer de Tabela, selecione um valor de Não para Impor para replicação.

  4. Clique em Fechar.

Usando o Transact-SQL

Desabilitar uma restrição CHECK para replicação

  1. No Pesquisador de Objetos, conecte-se a uma instância do Mecanismo de Banco de Dados.

  2. Na barra Padrão, clique em Nova Consulta.

  3. Copie e cole o exemplo a seguir na janela de consulta e clique em Executar. O exemplo cria uma tabela com uma IDENTITY coluna e uma restrição CHECK na tabela. Em seguida, o exemplo remove a restrição e a recria especificando a cláusula NOT FOR REPLICATION.

    Note

    No Banco de Dados SQL do Azure e no SQL Database no Microsoft Fabric, a USE instrução não está disponível. Em vez disso, conecte-se diretamente ao banco de dados pretendido e execute o restante do exemplo de código.

    USE AdventureWorks2022;  
    GO  
    CREATE TABLE dbo.doc_exd (column_a int IDENTITY (1,1)   
    CONSTRAINT exd_check CHECK (column_a > 1))   
    
    ALTER TABLE dbo.doc_exd   
    DROP CONSTRAINT exd_check;   
    GO  
    ALTER TABLE dbo.doc_exd    
    ADD CONSTRAINT exd_check CHECK NOT FOR REPLICATION (column_a > 1);  
    

Para obter mais informações, consulte ALTER TABLE (Transact-SQL).