sql >> Database >  >> RDS >> Sqlserver

Hoe werkt alter table switch op sql server?

Gegevens invoegen met het statement

insert into T2 select * from T1

Laadt gegevens door gegevens van T1 in T2 in te voegen. Wanneer een partitie wordt overgedragen (geschakeld), worden de gegevens niet fysiek verplaatst; alleen de metadata over de locatie van de data verandert.

Voordat u van partitie kunt wisselen, moet aan een aantal algemene vereisten worden voldaan:

Algemene vereisten voor het wisselen van partities:

Wanneer een partitie wordt overgedragen, worden de gegevens niet fysiek verplaatst; alleen de metadata over de locatie van de data verandert. Voordat u van partitie kunt wisselen, moet aan een aantal algemene vereisten worden voldaan:

  1. Beide tabellen moeten bestaan ​​voor de SWITCH-bewerking. De tabel van waaruit de partitie wordt verplaatst (de brontabel) en de tabel die de partitie ontvangt (de doeltabel) moeten in de database aanwezig zijn voordat u de schakelbewerking uitvoert.
  2. De ontvangende partitie moet bestaan ​​en moet leeg zijn. Of u nu een tabel toevoegt als partitie aan een reeds bestaande gepartitioneerde tabel, of een partitie verplaatst van de ene gepartitioneerde tabel naar de andere, de partitie die de nieuwe partitie ontvangt, moet bestaan ​​en het moet een lege partitie zijn.
  3. De ontvangende niet-gepartitioneerde tabel moet bestaan ​​en moet leeg zijn. Als u een partitie opnieuw toewijst om één niet-gepartitioneerde tabel te vormen, moet de tabel die de nieuwe partitie ontvangt, bestaan ​​en moet het een lege niet-gepartitioneerde tabel zijn.
  4. Partities moeten in dezelfde kolom staan. Als u een partitie overschakelt van de ene gepartitioneerde tabel naar de andere, moeten beide tabellen in dezelfde kolom worden gepartitioneerd.
  5. Bron- en doeltabellen moeten dezelfde bestandsgroep delen. De bron- en doeltabel van de ALTER TABLE...SWITCH-instructie moeten zich in dezelfde bestandsgroep bevinden en hun kolommen met grote waarden moeten in dezelfde bestandsgroep worden opgeslagen. Alle corresponderende indexen, indexpartities of geïndexeerde weergavepartities moeten zich ook in dezelfde bestandsgroep bevinden. De bestandsgroep kan echter verschillen van die van de overeenkomstige tabellen of andere overeenkomstige indexen.

Deze informatie en meer vind je hier:

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




  1. Slaapstand:ID-generator met increment en Oracle Schema

  2. Gegevens naar Android-app pushen

  3. Foutcode:1292. Afgekorte onjuiste DUBBELE waarde:'ja'

  4. php en mysql - Stuur selectievakje, keuzerondje en vervolgkeuzemenuresultaten van gebruiker naar mysql-database en sla het daar op