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

Hvordan virker alter table switch på sql server?

Indsættelse af data ved hjælp af sætningen

insert into T2 select * from T1

Indlæser data ved at indsætte data fra T1 i T2. Når en partition overføres (skiftes), flyttes dataene ikke fysisk; kun metadataene om placeringen af ​​dataene ændres.

Før du kan skifte partition, skal flere generelle krav være opfyldt:

Generelle krav til skift af partitioner:

Når en partition overføres, flyttes dataene ikke fysisk; kun metadataene om placeringen af ​​dataene ændres. Før du kan skifte partition, skal flere generelle krav være opfyldt:

  1. Begge tabeller skal eksistere før SWITCH-handlingen. Tabellen, som partitionen flyttes fra (kildetabellen), og den tabel, der modtager partitionen (måltabellen), skal eksistere i databasen, før du udfører switch-handlingen.
  2. Den modtagende partition skal eksistere, og den skal være tom. Uanset om du tilføjer en tabel som en partition til en allerede eksisterende partitioneret tabel eller flytter en partition fra en partitioneret tabel til en anden, skal den partition, der modtager den nye partition, eksistere, og den skal være en tom partition.
  3. Den modtagende ikke-partitionerede tabel skal eksistere, og den skal være tom. Hvis du omtildeler en partition til at danne én ikke-partitioneret tabel, skal den tabel, der modtager den nye partition, eksistere, og det skal være en tom ikke-partitioneret tabel.
  4. Partitioner skal være i samme kolonne. Hvis du skifter en partition fra en inddelt tabel til en anden, skal begge tabeller være opdelt i samme kolonne.
  5. Kilde- og måltabeller skal dele den samme filgruppe. Kilden og måltabellen for ALTER TABLE...SWITCH-sætningen skal ligge i den samme filgruppe, og deres store kolonner skal lagres i den samme filgruppe. Eventuelle tilsvarende indekser, indekspartitioner eller indekserede visningspartitioner skal også ligge i den samme filgruppe. Filgruppen kan dog være forskellig fra den for de tilsvarende tabeller eller andre tilsvarende indekser.

Denne information og mere er placeret her:

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




  1. SQL Indsæt data fra flere tabeller i forskellige databaser

  2. inkonsistent indrykning med Python efter split

  3. INSERT INTO eller OPDATERING med to betingelser

  4. ImportError:Intet modul med navnet flask.ext.mysql