sql >> Databáze >  >> RDS >> Sqlserver

Jak zakázat všechna omezení kontroly v databázi SQL Server - SQL Server / TSQL výukový program, část 87

Scénář:

Pracujete jako SQL Server / ETL vývojář. Musíte načíst spoustu dat do tabulek v databázi SQL Server. Kontrolní omezení se vytvářejí v různých tabulkách. Existuje šance, že data, která se chystáte načíst, nebudou splňovat podmínky kontroly. Podnik chce, abyste data načetli tak jako tak, i když nesplňují podmínky kontroly omezení. Chcete dočasně zakázat všechna omezení v databázi SQL Server a poté načíst data a poté znovu povolit Kontrola omezení.


Řešení:

Níže uvedený skript lze použít ke generování skriptu Disable Check Constraint pro všechny Check Constraints, které jsou v databázi povoleny. Pokud nechcete generovat skript pro všechny tabulky, můžete dále filtrovat tabulky v klauzuli where, pokud nechcete generovat skript pro všechny tabulky.

 --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
 
 
 
 
Jak generovat skripty pro zakázání všech kontrolních omezení v databázi SQL Server
 Zkopírujte výsledky ze sloupce DisableCheckConstraint a spusťte je v SSMS, abyste zakázali požadovaná omezení kontroly.
ALTER TABLE [dbo].[Customer22] NOCHECK CONSTRAINT [CK__Customer2__FName__6C190EBB]

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


Video ukázka:Jak generovat skripty pro deaktivaci všech kontrolních omezení na serveru SQL Server

  1. Jak mohu získat názvy sloupců z tabulky v Oracle?

  2. Jak se připojit v java jako SYS k Oracle?

  3. Získání výstupu z dbms_output.get_lines pomocí JDBC

  4. Jednoduché funkce SQL Serveru k řešení problémů ve skutečném světě