Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como posso mover uma tabela para outro grupo de arquivos no MS SQL Server?


Se você quiser apenas mover a tabela para um novo grupo de arquivos, você precisa recriar o índice clusterizado na tabela (afinal:o índice clusterizado é os dados da tabela) no novo grupo de arquivos desejado.

Você pode fazer isso com, por exemplo:
CREATE CLUSTERED INDEX CIX_YourTable
   ON dbo.YourTable(YourClusteringKeyFields)
   WITH DROP_EXISTING
   ON [filegroup_name]

ou se seu índice clusterizado for exclusivo :
CREATE UNIQUE CLUSTERED INDEX CIX_YourTable
   ON dbo.YourTable(YourClusteringKeyFields)
   WITH DROP_EXISTING
   ON [filegroup_name]

Isso cria um novo índice clusterizado e descarta o existente e cria o novo índice clusterizado no grupo de arquivos que você especificou - e pronto, os dados da sua tabela foram movidos para o novo grupo de arquivos.

Consulte os documentos do MSDN em CREATE INDEX para obter detalhes sobre todas as opções disponíveis que você pode especificar.

É claro que isso ainda não lida com o particionamento, mas essa é uma outra história por si só ...