Vorübergehende Verwaltung von Datenbankeinschränkungen in MS SQL Server
Das vorübergehende Deaktivieren von Einschränkungen in Microsoft SQL Server kann Datenbankvorgänge rationalisieren, insbesondere bei der Datenübertragung. In diesem Handbuch werden Methoden zum vorübergehenden Deaktivieren und erneuten Aktivieren von Einschränkungen beschrieben.
Einschränkungen deaktivieren
Deaktivierung der Einschränkung einzelner Tabellen (ALTER TABLE):
Verwenden Sie diesen Befehl, um Einschränkungen für eine einzelne Tabelle zu deaktivieren:
<code class="language-sql">ALTER TABLE tableName NOCHECK CONSTRAINT ALL;</code>
Datenbankweite Einschränkungsdeaktivierung (sp_msforeachtable):
Diese gespeicherte Prozedur deaktiviert Einschränkungen für alle Tabellen in der Datenbank:
<code class="language-sql">EXEC sp_msforeachtable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL';</code>
Einschränkungen wieder aktivieren
Einzelne Tabellenbeschränkung erneut aktivieren (ALTER TABLE):
Aktivieren Sie Einschränkungen für eine bestimmte Tabelle mit diesem Befehl wieder:
<code class="language-sql">ALTER TABLE tableName WITH CHECK CHECK CONSTRAINT ALL;</code>
Datenbankweite Einschränkung erneut aktivieren (sp_msforeachtable):
Einschränkungen für alle Tabellen in der Datenbank mit dieser gespeicherten Prozedur wieder aktivieren:
<code class="language-sql">EXEC sp_msforeachtable 'ALTER TABLE ? WITH CHECK CHECK CONSTRAINT ALL';</code>
Praktische Anwendung
Das folgende Beispiel zeigt den Prozess des vorübergehenden Deaktivierens und erneuten Aktivierens von Einschränkungen während eines Datenkopiervorgangs:
<code class="language-sql">-- Disable constraints on TableA and TableB ALTER TABLE TableA NOCHECK CONSTRAINT ALL; ALTER TABLE TableB NOCHECK CONSTRAINT ALL; -- Copy data from TableA to TableB INSERT INTO TableB SELECT * FROM TableA; -- Re-enable constraints on TableA and TableB ALTER TABLE TableA WITH CHECK CHECK CONSTRAINT ALL; ALTER TABLE TableB WITH CHECK CHECK CONSTRAINT ALL;</code>
Das obige ist der detaillierte Inhalt vonWie kann ich Datenbankeinschränkungen in MS SQL vorübergehend deaktivieren und wieder aktivieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!