Deaktivieren von CHECK-Einschränkungen für die Replikation
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 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 Server verö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
Erweitern Sie im Objekt-Explorerdie Tabelle mit der zu ändernden Einschränkung, und erweitern Sie dann den Ordner Einschränkungen .
Klicken Sie mit der rechten Maustaste auf die zu ändernde CHECK-Einschränkung, und klicken Sie dann auf Ändern.
Wählen Sie im Dialogfeld Einschränkungen überprüfen unter Tabellen-Designerfür die Option Für Replikation erzwingen den Wert Neinaus.
Klicken Sie auf Schließen.
Verwenden von Transact-SQL
So deaktivieren Sie eine CHECK-Einschränkung für die Replikation
Stellen Sie im Objekt-Explorer eine Verbindung mit einer Datenbank-Engine-Instanz her.
Klicken Sie in der Standardleiste auf Neue Abfrage.
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).