Deaktivieren von CHECK-Einschränkungen für die Replikation

Gilt für: SQL Server 2016 (13.x) und höher Azure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Sie können CHECK-Einschränkungen in SQL Server mithilfe von SQL Server Management Studio oder Transact-SQL löschen. Sie können CHECK-Einschränkungen für die Replikation auch explizit deaktivieren. Dies ist vor allem nützlich, wenn Sie Daten aus einer früheren Version von SQL Serververöffentlichen.

Hinweis

Wenn eine Tabelle mittels Replikation veröffentlicht wird, werden CHECK-Einschränkungen automatisch für die von Replikations-Agents ausgeführten Vorgänge deaktiviert. Wenn ein Replikations-Agent eine Einfügung, ein Update oder eine Löschung auf einem Abonnenten ausführt, wird die Einschränkung nicht überprüft; wenn ein Benutzer eine Einfügung, ein Update oder eine Löschung ausführt, wird die Einschränkung überprüft. Die Einschränkung wird für den Replikations-Agent deaktiviert, da die Einschränkung bereits auf dem Verleger überprüft wurde, als die Daten ursprünglich eingefügt, aktualisiert oder gelöscht wurden. Weitere Informationen finden Sie unter Angeben von Schemaoptionen.

Vorbereitungen

Sicherheit

Berechtigungen

Erfordert die ALTER-Berechtigung für die Tabelle.

Verwendung von SQL Server Management Studio

So deaktivieren Sie eine CHECK-Einschränkung für die Replikation

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

  2. Klicken Sie mit der rechten Maustaste auf die zu ändernde CHECK-Einschränkung, und klicken Sie dann auf Ändern.

  3. Wählen Sie im Dialogfeld Einschränkungen überprüfen unter Tabellen-Designerfür die Option Für Replikation erzwingen den Wert Neinaus.

  4. Klicken Sie auf Schließen.

Verwenden von Transact-SQL

So deaktivieren Sie eine CHECK-Einschränkung für die Replikation

  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 das folgende Beispiel, fügen Sie es in das Abfragefenster ein, und klicken Sie auf Ausführen. Im Beispiel wird eine Tabelle mit einer IDENTITY-Spalte und einer CHECK-Einschränkung für die Tabelle erstellt. Anschließend wird die Einschränkung gelöscht und mit der NOT FOR REPLICATION-Klausel neu erstellt.

    USE AdventureWorks2022;  
    GO  
    CREATE TABLE dbo.doc_exd (column_a int IDENTITY (1,1)   
    CONSTRAINT exd_check CHECK (column_a > 1))   
    
    ALTER TABLE dbo.doc_exd   
    DROP CONSTRAINT exd_check;   
    GO  
    ALTER TABLE dbo.doc_exd    
    ADD CONSTRAINT exd_check CHECK NOT FOR REPLICATION (column_a > 1);  
    

Weitere Informationen finden Sie unter ALTER TABLE (Transact-SQL).

Weitere Informationen

Angeben von Schemaoptionen