Skenario:
Anda bekerja sebagai pengembang SQL Server/ETL. Anda perlu memuat banyak data ke tabel di Database SQL Server. Periksa Batasan dibuat pada tabel yang berbeda. Ada kemungkinan data yang akan Anda muat tidak memenuhi syarat menurut Check Constraint. Bisnis ingin Anda memuat data meskipun tidak memenuhi syarat dengan Periksa Batasan. Anda ingin menonaktifkan sementara semua kendala dalam database SQL Server dan kemudian memuat data dan kemudian mengaktifkan kembali Batasan Periksa.
Solusi:
Skrip di bawah ini dapat digunakan untuk menghasilkan skrip Disable Check Constraint untuk semua Check Constraints yang diaktifkan di database. Anda dapat memfilter lebih lanjut tabel di klausa where jika Anda tidak ingin membuat skrip untuk semua tabel.--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
Cara membuat skrip untuk Menonaktifkan semua Batasan Pemeriksaan di Database SQL Server |
ALTER TABLE [dbo].[Customer22] NOCHECK CONSTRAINT [CK__Customer2__FName__6C190EBB] ALTER TABLE [dbo].[Employee] NOCHECK CONSTRAINT [CK__Employee__FName__7A672E12]
Demo Video :Cara membuat skrip untuk menonaktifkan semua Batasan Pemeriksaan di SQL Server