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

Wie kann ich eine Tabelle in MS SQL Server in eine andere Dateigruppe verschieben?

Wenn Sie die Tabelle einfach in eine neue Dateigruppe verschieben möchten, müssen Sie den Clustered-Index für die Tabelle neu erstellen (schließlich:Der Clustered-Index ist die Tabellendaten) in der gewünschten neuen Dateigruppe.

Das geht z.B. mit:

CREATE CLUSTERED INDEX CIX_YourTable
   ON dbo.YourTable(YourClusteringKeyFields)
   WITH DROP_EXISTING
   ON [filegroup_name]

oder ob Ihr gruppierter Index eindeutig ist :

CREATE UNIQUE CLUSTERED INDEX CIX_YourTable
   ON dbo.YourTable(YourClusteringKeyFields)
   WITH DROP_EXISTING
   ON [filegroup_name]

Dadurch wird ein neuer gruppierter Index erstellt, der vorhandene gelöscht und der neue gruppierte Index in der von Ihnen angegebenen Dateigruppe erstellt - et voila, Ihre Tabellendaten wurden in die neue Dateigruppe verschoben.

Siehe die MSDN-Dokumentation zu CREATE INDEX für Details zu allen verfügbaren Optionen, die Sie vielleicht angeben möchten.

Hier geht es natürlich noch nicht um Partitionierung, aber das ist eine ganz andere Geschichte für sich...