Deaktivieren von CHECK-Einschränkungen mit INSERT- und UPDATE-Anweisungen

Gilt für: SQL Server 2016 (13.x) und höhere Versionen Azure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsSQL-Datenbank in Microsoft Fabric

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 CHECK-Einschränkungen.

Note

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.

Permissions

Erfordert die ALTER-Berechtigung für die Tabelle.

Verwendung von SQL Server Management Studio

So wird eine CHECK-Einschränkung für INSERT- und UPDATE-Anweisungen deaktiviert

  1. Erweitern Sie im Objekt-Explorerdie Tabelle mit der Einschränkung, und erweitern Sie dann den Ordner Einschränkungen .

  2. Klicken Sie mit der rechten Maustaste auf die Einschränkung, und wählen Sie anschließend Ändernaus.

  3. Im Raster unter Table Designer klicke auf Enforcing For INSERTs And UPDATES und wähle Nein aus der Dropdown-Liste.

  4. Klicken Sie auf Schließen.

Verwenden von Transact-SQL

So wird eine CHECK-Einschränkung für INSERT- und UPDATE-Anweisungen deaktiviert

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Datenbank-Engine-Instanz her.

  2. Klicken Sie in der Standardleiste auf Neue Abfrage.

  3. 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