Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como desabilitar todas as restrições de verificação no banco de dados SQL Server - Tutorial SQL Server / TSQL Parte 87

Cenário:

Você está trabalhando como desenvolvedor SQL Server/ETL. Você precisa carregar vários dados para tabelas no banco de dados SQL Server. As restrições de verificação são criadas em tabelas diferentes. Há chances de que os dados que você vai carregar não se qualifiquem de acordo com a restrição de verificação. A empresa quer que você carregue os dados de qualquer maneira, mesmo que não se qualifique com Check Constraint. Você deseja desabilitar temporariamente todas as restrições no banco de dados SQL Server e, em seguida, carregar os dados e, em seguida, reativar as restrições de verificação.


Solução:

O script abaixo pode ser usado para gerar o script Disable Check Constraint para todas as Check Constraints que estão habilitadas no banco de dados. Você pode filtrar ainda mais as tabelas na cláusula where se não quiser gerar script para todas as tabelas.

 --Generate Script to Disable All Check Constraint in SQL Server Database
 Select DB_Name() AS DBName,
 Schema_Name(Schema_id) AS TableSchema,
 Object_name(parent_object_id) as TableName,
  definition,
  'Alter Table [' + Schema_Name(Schema_id) 
    + '].[' + Object_name(parent_object_id) 
    + ']' + ' NOCHECK  CONSTRAINT ' 
    + '[' + NAME + ']' AS DisableCheckConstraint
 From sys.check_constraints
 where is_disabled=0
 
 
 
 
Como gerar scripts para desabilitar todas as restrições de verificação no banco de dados SQL Server
 Copie os resultados da coluna DisableCheckConstraint e execute no SSMS para desativar as restrições de verificação necessárias.
ALTER TABLE [dbo].[Customer22] NOCHECK CONSTRAINT [CK__Customer2__FName__6C190EBB]

ALTER TABLE [dbo].[Employee] NOCHECK CONSTRAINT [CK__Employee__FName__7A672E12]


Demonstração em vídeo:como gerar scripts para desabilitar todas as restrições de verificação no SQL Server