Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie funktioniert der Tabellenwechsel auf einem SQL-Server?

Einfügen von Daten mit der Anweisung

insert into T2 select * from T1

Lädt Daten durch Einfügen von Daten von T1 in T2. ​​Wenn eine Partition übertragen (umgeschaltet) wird, werden die Daten nicht physisch verschoben; nur die Metadaten über den Speicherort der Daten ändern sich.

Bevor Sie Partitionen wechseln können, müssen einige allgemeine Voraussetzungen erfüllt sein:

Allgemeine Anforderungen für das Wechseln von Partitionen:

Wenn eine Partition übertragen wird, werden die Daten nicht physisch verschoben; nur die Metadaten über den Speicherort der Daten ändern sich. Bevor Sie Partitionen wechseln können, müssen einige allgemeine Voraussetzungen erfüllt sein:

  1. Beide Tabellen müssen vor der SWITCH-Operation existieren. Die Tabelle, aus der die Partition verschoben wird (die Quelltabelle), und die Tabelle, die die Partition empfängt (die Zieltabelle), müssen in der Datenbank vorhanden sein, bevor Sie die Wechseloperation durchführen.
  2. Die empfangende Partition muss vorhanden und leer sein. Unabhängig davon, ob Sie eine Tabelle als Partition zu einer bereits vorhandenen partitionierten Tabelle hinzufügen oder eine Partition von einer partitionierten Tabelle in eine andere verschieben, muss die Partition, die die neue Partition erhält, vorhanden und eine leere Partition sein.
  3. Die empfangende nicht partitionierte Tabelle muss vorhanden und leer sein. Wenn Sie eine Partition neu zuweisen, um eine nicht partitionierte Tabelle zu bilden, muss die Tabelle, die die neue Partition erhält, existieren und eine leere, nicht partitionierte Tabelle sein.
  4. Partitionen müssen sich in derselben Spalte befinden. Wenn Sie eine Partition von einer partitionierten Tabelle zu einer anderen wechseln, müssen beide Tabellen in derselben Spalte partitioniert werden.
  5. Quell- und Zieltabellen müssen dieselbe Dateigruppe gemeinsam nutzen. Die Quell- und die Zieltabelle der ALTER TABLE...SWITCH-Anweisung müssen sich in derselben Dateigruppe befinden, und ihre Spalten mit großen Werten müssen in derselben Dateigruppe gespeichert werden. Alle entsprechenden Indizes, Indexpartitionen oder indizierten Ansichtspartitionen müssen sich ebenfalls in derselben Dateigruppe befinden. Die Dateigruppe kann sich jedoch von der der entsprechenden Tabellen oder anderen entsprechenden Indizes unterscheiden.

Diese und weitere Informationen finden Sie hier:

https://technet.microsoft.com/ de-us/library/ms191160(v=sql.105).aspx