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

Como desabilitar todas as restrições de chave estrangeira no banco de dados SQL Server - Tutorial SQL Server / TSQL Parte 77

Cenário:

Você está trabalhando como desenvolvedor do SQL Server, você precisa fornecer os scripts para desabilitar toda a restrição de chave estrangeira no banco de dados do SQL Server. Este pode ser um cenário em que você precisa carregar dados uma vez e não há problema se os dados violarem a integridade referencial.

Solução:


Vamos obter a lista de restrições de chave estrangeira de um banco de dados SQL Server antes de gerarmos o script de desabilitação.

--Get List of Foreign Key Constraints if Enabled or Disabled
    USE YourDatabaseName
    GO
    Select 
    Schema_name(Schema_id) as SchemaName,
    object_name(Parent_object_id) as TableName,
    name as ForeignKeyConstraintName,
    Case When Is_disabled=1 Then 'No'
    ELSE 'Yes' End as IsEnabled
    from sys.foreign_keys
 
 
 
 
 
 
 
 
Como verificar se a restrição de chave estrangeira está habilitada ou desabilitada no SQL Server
 
Agora vamos gerar script para desabilitar restrição de chave estrangeira no banco de dados SQL Server

USE YourdatabaseName
go
-- Drop Foreign Key Constraints Script 
SELECT distinct 'ALTER TABLE ' 
+ '['+ Schema_name(FK.schema_id) 
+ '].['+ OBJECT_NAME(FK.parent_object_id) 
+ ']'+ ' NOCHECK  CONSTRAINT ' 
+ '[' + FK.name + ']' AS DisableConstraintQuery
 FROM   sys.foreign_keys AS FK
 where is_disabled=0
 
 
 
 
Como gerar script para desabilitar todas as restrições de chave estrangeira no banco de dados SQL Server
 

Demonstração em vídeo:como desabilitar todas as restrições de chave estrangeira no banco de dados SQL Server