Deaktivieren von CHECK-Einschränkungen mit den Anweisungen INSERT und UPDATE
Gilt für: SQL Server 2016 (13.x) und höher Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Sie können mit SQL Server Management Studio oder Transact-SQL eine CHECK-Einschränkung für INSERT
- und UPDATE
-Transaktionen in SQL Server deaktivieren. Sobald die CHECK-Einschränkungen deaktiviert worden sind, wird die Spalte bei Einfügungen oder Aktualisierungen nicht mehr bezüglich der Einschränkungsbedingungen überprüft. Verwenden Sie diese Option, wenn Sie wissen, dass neue Daten gegen die vorhandene Einschränkung verstoßen, oder wenn die Einschränkung nur für die bereits in der Datenbank vorhandenen Daten gilt.
Weitere Informationen finden Sie unter UNIQUE- und CHECK-Einschränkungen.
Hinweis
CHECK-Einschränkungen werden mit einer ALTER TABLE
-Anweisung aktiviert und deaktiviert, die immer eine Schemaänderungssperre (Sch-M
) erfordert. Sch-M-Sperren verhindern den gleichzeitigen Zugriff auf die Tabelle. Weitere Informationen finden Sie unter Sperren und ALTER TABLE.
Berechtigungen
Erfordert die ALTER-Berechtigung für die Tabelle.
Verwendung von SQL Server Management Studio
So deaktivieren Sie eine CHECK-Einschränkung für INSERT- und UPDATE-Anweisungen
Erweitern Sie im Objekt-Explorerdie Tabelle mit der Einschränkung, und erweitern Sie dann den Ordner Einschränkungen .
Klicken Sie mit der rechten Maustaste auf die Einschränkung, und wählen Sie anschließend Ändernaus.
Klicken Sie im Raster unter dem Tabellen-Designerauf Für INSERTs und UPDATEs erzwingen , und wählen Sie im Dropdownmenü Nein aus.
Klicken Sie auf Schließen.
Verwenden von Transact-SQL
So deaktivieren Sie eine CHECK-Einschränkung für INSERT- und UPDATE-Anweisungen
Stellen Sie im Objekt-Explorer eine Verbindung mit einer Datenbank-Engine-Instanz her.
Klicken Sie in der Standardleiste auf Neue Abfrage.
Kopieren Sie die folgenden Beispiele, fügen Sie sie in das Abfragefenster ein, und klicken Sie auf Ausführen.
USE AdventureWorks2022; GO ALTER TABLE Purchasing.PurchaseOrderHeader NOCHECK CONSTRAINT CK_PurchaseOrderHeader_Freight; GO