Partager via


Verrouillage et déverrouillage de bases de données (XMLA)

Vous pouvez verrouiller et déverrouiller des bases de données à l’aide, respectivement, des commandes Lock et Unlock dans XML for Analysis (XMLA). En règle générale, les autres commandes XMLA verrouillent et déverrouillent automatiquement les objets, selon le cas, pour faire aboutir la commande pendant l'exécution. Vous pouvez explicitement verrouiller ou déverrouiller une base de données pour effectuer plusieurs commandes au sein d’une même transaction, telle qu’une commande Batch , tout en empêchant d’autres applications de valider une transaction d’écriture dans la base de données.

Verrouillage de bases de données

La commande Lock verrouille un objet, pour un usage partagé ou exclusif, dans le contexte de la transaction actuellement active. Un verrou sur un objet empêche la validation des transactions aussi longtemps que le verrou n'est pas supprimé. Microsoft SQL Server Analysis Services prend en charge deux types de verrous: les verrous partagés et les verrous exclusifs. Pour plus d’informations sur les types de verrous pris en charge par Analysis Services, consultez Élément de mode (XMLA).

Analysis Services autorise uniquement les bases de données à être verrouillées. L’élément Object doit contenir une référence d’objet à une base de données Analysis Services. Si l'élément Object n'est pas spécifié ou si cet élément Object fait référence à un objet autre qu'une base de données, une erreur survient.

Important

Seuls les administrateurs de bases de données ou de serveurs peuvent émettre une commande Lock de manière explicite.

D’autres commandes émettent implicitement une Lock commande sur une base de données Analysis Services. Toutes les opérations permettant de lire les données ou les métadonnées d'une base de données (par exemple, n'importe quelle méthode Discover ou une méthode Execute exécutant une commande Statement ) émettent implicitement un verrou partagé dans la base de données. Toute transaction qui valide des modifications de données ou de métadonnées dans un objet sur une base de données Analysis Services, telle qu’une Execute méthode exécutant une commande Alter , émet implicitement un verrou exclusif sur la base de données.

Déverrouillage d'objets

La commande Unlock supprime un verrou établi dans le contexte de la transaction actuellement active.

Important

Seuls les administrateurs de base de données ou les administrateurs de serveur peuvent émettre explicitement une Unlock commande.

Tous les verrous sont conservés dans le contexte de la transaction en cours. Lors de la validation ou de la restauration de la transaction en cours, tous les verrous définis dans celle-ci sont libérés automatiquement.

Voir aussi

Élément Lock (XMLA)
Élément Unlock (XMLA)
Développement avec XMLA dans Analysis Services