Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment fonctionne le commutateur alter table sur le serveur sql?

Insertion de données à l'aide de l'instruction

insert into T2 select * from T1

Charge les données en insérant des données de T1 dans T2. Lorsqu'une partition est transférée (commutée), les données ne sont pas physiquement déplacées ; seules les métadonnées sur l'emplacement des données changent.

Avant de pouvoir changer de partition, plusieurs conditions générales doivent être remplies :

Exigences générales pour changer de partition :

Lorsqu'une partition est transférée, les données ne sont pas déplacées physiquement; seules les métadonnées sur l'emplacement des données changent. Avant de pouvoir changer de partition, plusieurs conditions générales doivent être remplies :

  1. Les deux tables doivent exister avant l'opération SWITCH. La table à partir de laquelle la partition est déplacée (la table source) et la table qui reçoit la partition (la table cible) doivent exister dans la base de données avant que vous n'effectuiez l'opération de basculement.
  2. La partition de réception doit exister et elle doit être vide. Que vous ajoutiez une table en tant que partition à une table partitionnée déjà existante ou que vous déplaciez une partition d'une table partitionnée à une autre, la partition qui reçoit la nouvelle partition doit exister et doit être une partition vide.
  3. La table non partitionnée de réception doit exister et elle doit être vide. Si vous réaffectez une partition pour former une table non partitionnée, la table qui reçoit la nouvelle partition doit exister et doit être une table non partitionnée vide.
  4. Les partitions doivent se trouver sur la même colonne. Si vous faites basculer une partition d'une table partitionnée à une autre, les deux tables doivent être partitionnées sur la même colonne.
  5. Les tables source et cible doivent partager le même groupe de fichiers. La source et la table cible de l'instruction ALTER TABLE...SWITCH doivent résider dans le même groupe de fichiers et leurs colonnes de grande valeur doivent être stockées dans le même groupe de fichiers. Tous les index, partitions d'index ou partitions de vues indexées correspondants doivent également résider dans le même groupe de fichiers. Cependant, le groupe de fichiers peut être différent de celui des tables correspondantes ou d'autres index correspondants.

Ces informations et bien d'autres se trouvent ici :

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