Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come posso spostare una tabella in un altro filegroup in MS SQL Server?

Se vuoi semplicemente spostare la tabella in un nuovo filegroup, devi ricreare l'indice cluster sulla tabella (dopotutto:l'indice cluster è i dati della tabella) sul nuovo filegroup desiderato.

Puoi farlo con ad es.:

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

o se il tuo indice cluster è unico :

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

Questo crea un nuovo indice cluster, elimina quello esistente e crea il nuovo indice cluster nel gruppo di file specificato - et voilà, i dati della tua tabella sono stati spostati nel nuovo filegroup.

Consulta i documenti MSDN su CREATE INDEX per i dettagli su tutte le opzioni disponibili che potresti voler specificare.

Questo ovviamente non ha ancora a che fare con la festa, ma questa è tutta un'altra storia tutta per sé...