> Tech > Modifier des vues partitionnées distribuées

Modifier des vues partitionnées distribuées

Tech - Par iTPro - Publié le 24 juin 2010
email

Quand on crée des vues partitionnées distribuées, il faut s'assurer que les tables et les vues correspondantes répondent à  certains critères. La plupart des instructions que l'on utilise pour modifier une vue partitionnée distribuée doivent également répondre à  certaines exigences. Les instructions Delete n'ont aucune restriction :

Modifier des vues partitionnées distribuées

on peut supprimer n’importe
laquelle voire toutes les lignes d’une vue. Mais les instructions d’ajout ou
de mise à  jour doivent répondre aux critères suivants pour être utilisables
dans les vues partitionnées distribuées :

 

  • Une instruction d’ajout à  une vue doit fournir une valeur à  la colonne
    de partitionnement.
  • Si on utilise une version bêta de SQL Server, une instruction de mise à 
    jour sur une vue peut échouer si une tentative de modification de la clé
    primaire est faite. On peut utiliser une instruction d’effacement suivie d’une
    instruction d’ajout à  la place d’une instruction de mise à  jour. Notez
    que Microsoft a annoncé que la version finale de SQL Server permettra des
    mises à  jour de la clé primaire.

 

Dans notre exemple, nous avons exécuté les modifications
suivantes à  partir de la connexion sur Shire\Shiloh (noeud 1), mais on peut
faire de même à  partir d’une connexion sur n’importe lequel des serveurs.
Assurez vous que le service MSDTC (Microsoft Distributed Transaction
Coordinator) est actif, car ces modifications vont entraîner une transaction
distribuée. On peut également activer la procédure XACT_ABORT. Normalement,
ceci détermine si la totalité d’une transaction est annulée en cas d’erreur
d’exécution, mais dans ce cas, cela est nécessaire à  toute instruction de
modification de données dans le cadre d’une transaction, implicite ou
explicite, avec la plupart des fournisseurs OLE DB, SQL Server inclus. Assurez
vous que vous avez activé la représentation graphique du plan d’exécution
de l’analyseur de requête pour accéder à  son détail, ou bien utilisez la
commande SET STATIC PROFILE ON si vous préférez analyser le plan d’exécution
en mode texte.

Nous pouvons maintenant peupler la vue Customers avec toutes
les lignes de la table Customers de la base de données Northwind, comme le
montre le listing 10. On exécute entre autres une instruction d’insertion sur
la vue. La figure 2 montre le plan d’exécution, qui illustre la manière de
laquelle SQL Server a traité l’insertion. Analysons les étapes importantes
du plan d’exécution :

 

  • Etape 1 (Clustered Index Scan) : lecture des lignes de la table
    locale Customers dans la base de données Northwind.
  • Etape 2 (Computer Scalar) : pour chacune des lignes, définition d’une
    nouvelle colonne appelée Ptn1034, qui contiendra une valeur indiquant à 
    quelle plage d’enregistrements elle appartient (0 pour la plage
    AAAAA/FZZZZ., 1 pour la plage GAAAA/PZZZZ et 2 pour la plage QAAAA/ZZZZZ).
  • Etape 4 : stockage dans une table temporaire des lignes lues à 
    l’étape 1, y compris la colonne Ptn1034 traitée à  l’étape 2.
  • Etapes 5 et 6 : lecture de la table temporaire et insertion
    uniquement des lignes qui répondent au critère Ptn1034 = 0 dans la table
    locale CustomerAF.
  • Etapes 7 et 9 : lecture de la table temporaire et insertion
    uniquement des lignes qui répondent au critère Ptn1034 = 1 dans la table
    locale Node2.testdb.dbo.CustomerGP.
  • Etapes 10 et 12 : lecture de la table temporaire et insertion
    uniquement des lignes qui répondent au critère Ptn1034 = 2 dans la table
    locale Node3.testdb.dbo.CustomerQZ.

 

On peut émettre des instructions de type insertion, mise à 
jour ou suppression sur la vue. Essayez les modifications proposées dans le
listing 11 sur la vue connectée au noeud 1, et comparez le plan d’exécution
de l’instruction qui modifie une table distante. Vous remarquerez que la
routine d’optimisation sépare et redirige les modifications vers les noeuds
appropriés, tout en déterminant à  quel moment effectuer une opération locale
ou distante.

Téléchargez gratuitement cette ressource

Aborder la Blockchain, comprendre et démarrer

Aborder la Blockchain, comprendre et démarrer

Une véritable révolution se prépare progressivement... les entreprises doivent veiller à ne pas rester à l’écart et se faire prendre de vitesse. Tout comme la mobilité ou encore le cloud, la blockchain est une composante essentielle de la transformation numérique. Découvrez, dans ce dossier, comment aborder, comprendre et démarrer la Blockchain

Tech - Par iTPro - Publié le 24 juin 2010