sql >> Databasteknik >  >> RDS >> Sqlserver

Hur fungerar alter table switch på sql server?

Infoga data med hjälp av satsen

insert into T2 select * from T1

Laddar data genom att infoga data från T1 i T2. När en partition överförs (växlas) flyttas inte data fysiskt; endast metadata om platsen för data ändras.

Innan du kan byta partition måste flera allmänna krav uppfyllas:

Allmänna krav för att byta partitioner:

När en partition överförs flyttas inte data fysiskt; endast metadata om platsen för data ändras. Innan du kan byta partition måste flera allmänna krav uppfyllas:

  1. Båda tabellerna måste finnas innan SWITCH-operationen. Tabellen som partitionen flyttas från (källtabellen) och tabellen som tar emot partitionen (måltabellen) måste finnas i databasen innan du utför växlingsoperationen.
  2. Den mottagande partitionen måste finnas och den måste vara tom. Oavsett om du lägger till en tabell som en partition till en redan existerande partitionerad tabell, eller flyttar en partition från en partitionerad tabell till en annan, måste partitionen som tar emot den nya partitionen finnas och det måste vara en tom partition.
  3. Den mottagande icke-partitionerade tabellen måste finnas och den måste vara tom. Om du omtilldelar en partition för att bilda en icke-partitionerad tabell, måste tabellen som tar emot den nya partitionen finnas och det måste vara en tom icke-partitionerad tabell.
  4. Partitioner måste finnas i samma kolumn. Om du byter en partition från en partitionerad tabell till en annan, måste båda tabellerna vara partitionerade i samma kolumn.
  5. Käll- och måltabeller måste dela samma filgrupp. Källan och måltabellen för ALTER TABLE...SWITCH-satsen måste finnas i samma filgrupp, och deras stora kolumner måste lagras i samma filgrupp. Eventuella motsvarande index, indexpartitioner eller indexerade vypartitioner måste också finnas i samma filgrupp. Filgruppen kan dock skilja sig från motsvarande tabeller eller andra motsvarande index.

Denna information och mer finns här:

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




  1. Summan av minuter mellan flera datumintervall

  2. Att använda en fråga resulterar i en annan fråga

  3. MySQL:veckodatumintervall från veckonummer i en fråga

  4. Uppdaterar vyer i MySQL