Scenariusz:
Pracujesz jako programista programu SQL Server lub programista ETL. Wyłączyłeś wszystkie ograniczenia sprawdzania w bazie danych programu SQL Server przed załadowaniem danych. Musisz podać skrypt, który powinien być w stanie wygenerować włączone skrypty sprawdzania ograniczeń dla wszystkich ograniczeń sprawdzania, które są wyłączone w bazie danych SQL Server.
Rozwiązanie:
Możemy użyć obiektów systemowych do wygenerowania skryptów umożliwiających sprawdzenie ograniczeń. Poniższe zapytanie może zostać użyte do wygenerowania skryptów, aby włączyć ograniczenia sprawdzania. Jeśli nie chcesz włączać wszystkich ograniczeń sprawdzania, możesz dalej filtrować obiekty w klauzuli where.
--Generate Script to Enable 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)
+ ']' + ' CHECK CONSTRAINT '
+ '[' + NAME + ']' AS EnableCheckConstraint
From sys.check_constraints
where is_disabled=1
|
Jak wygenerować Włącz wszystkie skrypty sprawdzania ograniczeń w bazie danych SQL Server |
Skopiuj wyniki z kolumny EnableCheckConstraint, wklej SSMS i wykonaj.
Alter Table [dbo].[Customer22] CHECK CONSTRAINT [CK__Customer2__FName__6C190EBB]
Alter Table [dbo].[Employee] CHECK CONSTRAINT [CK__Employee__FName__7A672E12]
Video Demo : How to generate Scripts to enable all Check Constraints
in SQL Server Database