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 |
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