Heim > Datenbank > MySQL-Tutorial > Wie kann ich Datenbankeinschränkungen in MS SQL vorübergehend deaktivieren und wieder aktivieren?

Wie kann ich Datenbankeinschränkungen in MS SQL vorübergehend deaktivieren und wieder aktivieren?

Mary-Kate Olsen
Freigeben: 2025-01-10 10:25:42
Original
470 Leute haben es durchsucht

How to Temporarily Disable and Re-enable Database Constraints in MS SQL?

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage