Desativar restrições CHECK com instruções INSERT e UPDATE

Aplica-se a: SQL Server 2016 (13.x) e versões posteriores Base de Dados SQL do AzureAzure SQL Managed InstanceAzure Synapse AnalyticsSQL base de dados em Microsoft Fabric

Você pode desabilitar uma restrição de verificação para transações INSERT e UPDATE no SQL Server usando o SQL Server Management Studio ou o Transact-SQL. Depois de desativar as restrições de verificação, futuras inserções ou atualizações na coluna não serão validadas em relação às condições de restrição. Use esta opção se souber que novos dados violarão a restrição existente ou se a restrição se aplicar apenas aos dados já existentes no banco de dados.

Para obter mais informações, consulte Check Constraints.

Note

As restrições de verificação são ativadas e desativadas com uma instrução ALTER TABLE, que sempre requer um bloqueio de modificação de esquema (Sch-M). Os bloqueios Sch-M impedem o acesso simultâneo à tabela. Para mais informações, consulte Bloqueios e ALTER TABLE.

Permissions

Requer permissão ALTER na tabela.

Usando o SQL Server Management Studio

Para desativar uma restrição CHECK para instruções INSERT e UPDATE

  1. No Explorador de Objetos, expanda a tabela com a restrição e, em seguida, expanda a pasta Restrições .

  2. Clique com o botão direito do mouse na restrição e selecione Modificar.

  3. Na grelha sob Table Designer, clique em Aplicar a INSERTs e UPDATEs e selecione Não na lista suspensa.

  4. Clique em Fechar.

Usando Transact-SQL

Para desativar uma restrição CHECK para instruções INSERT e UPDATE

  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 os exemplos a seguir na janela de consulta e clique em Executar.

    Note

    No Base de Dados SQL do Azure e na base de dados SQL no Microsoft Fabric, a instrução USE não está disponível. Em vez disso, ligue-se diretamente à base de dados pretendida e execute o resto do exemplo de código.

    USE AdventureWorks2022;  
    GO  
    ALTER TABLE Purchasing.PurchaseOrderHeader  
    NOCHECK CONSTRAINT CK_PurchaseOrderHeader_Freight;   
    GO