sql >> Databasteknik >  >> RDS >> Sqlserver

Hur kan jag flytta en tabell till en annan filgrupp i MS SQL Server?

Om du bara vill flytta tabellen till en ny filgrupp måste du återskapa det klustrade indexet på tabellen (efter allt:det klustrade indexet är tabelldata) på den nya filgrupp du vill ha.

Du kan göra detta med t.ex.:

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

eller om ditt klustrade index är unikt :

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

Detta skapar ett nytt klustrade index och släpper det befintliga, och det skapar det nya klustrade indexet i filgruppen du angav - et voila, din tabelldata har flyttats till den nya filgruppen.

Se MSDN-dokumenten på CREATE INDEX för information om alla tillgängliga alternativ som du kanske vill ange.

Det här handlar förstås inte om partitionering ännu, men det är en helt annan historia för sig själv...



  1. Oracle Apex:steg för steg tillvägagångssätt för att skapa alternativknappar i interaktiv rapport

  2. Kinesisk teckenkodning av JSF-ingång

  3. Hur ser man resultat/utdata för återkurs i Oracle SQL Developer?

  4. Använder Union All och Order By i MySQL