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 verrouiller ou déverrouiller explicitement une base de données pour effectuer plusieurs commandes au sein d’une seule transaction, comme 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 SQL Server Analysis Services prend en charge deux types de verrous, de verrous partagés et de verrous exclusifs. Pour plus d’informations sur les types de verrous pris en charge par SQL Server Analysis Services, consultez l’élément Mode (XMLA).

SQL Server Analysis Services autorise uniquement le verrouillage des bases de données. L’élément Object doit contenir une référence d’objet à une base de données SQL Server 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 commande Lock sur une base de données SQL Server 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 les modifications apportées aux données ou aux métadonnées dans un objet d’une base de données SQL Server Analysis Services, telle qu’une méthode Execute 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 bases de données ou de serveurs peuvent émettre une commande Unlock de manière explicite.

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