Scénář:
Pracujete jako vývojář serveru SQL Server nebo vývojář ETL, před načtením dat jste zakázali všechna omezení kontroly v databázi SQL Server. Musíte poskytnout skript, který by měl být schopen generovat skripty pro povolení kontroly omezení pro všechna omezení kontroly, která jsou zakázána v databázi SQL Server.
Řešení:
Můžeme použít systémové objekty ke generování aktivačních skriptů Check Constraints. Níže uvedený dotaz lze použít ke generování skriptů pro povolení kontrolních omezení. Pokud nechcete povolit všechna kontrolní omezení, můžete dále filtrovat objekty v klauzuli where.
--Generate Script pro povolení všech kontrolních omezení v databázi SQL Server Vyberte DB_Name() AS DBName, Schema_Name(Schema_id) AS TableSchema, Object_name(parent_object_id) jako TableName, definice, 'Alter Table [' + Schema_Name(Schema_id) + '].[' + Object_name(parent_object_id) + ' ]' + ' CHECK CONSTRAINT ' + '[' + NAME + ']' AS EnableCheckConstraint From sys.check_constraints where is_disabled=1
|
Jak vygenerovat skript Enable all Check Constraints Script v databázi SQL Server |
Zkopírujte výsledky ze sloupce EnableCheckConstraint, vložte do SSMS a spusťte.
Změnit tabulku [dbo].[Customer22] ZKONTROLUJTE OMEZENÍ [CK__Customer2__FName__6C190EBB]Změňte tabulku [dbo].[Kontrola zaměstnance] [KONTROLA ZAMĚSTNANCŮ] CK__Employee__FNname__7A672E12]
Video ukázka:Jak generovat skripty pro aktivaci všech kontrolních omezení
v databázi SQL Server