Freigeben über


Sperren und Entsperren von Datenbanken (XMLA)

Sie können Datenbanken mithilfe der Befehle " Sperren und Entsperren " in XML for Analysis (XMLA) sperren und entsperren. In der Regel sperren und entsperren andere XMLA-Befehle Objekte je nach Bedarf automatisch, um den Befehl während der Ausführung abschließen zu können. Sie können eine Datenbank explizit sperren oder entsperren, um mehrere Befehle innerhalb einer einzelnen Transaktion auszuführen, z. B. einen Batchbefehl , während andere Anwendungen verhindern, dass eine Schreibtransaktion in die Datenbank eingefügt wird.

Sperren von Datenbanken

Der Lock -Befehl sperrt die gemeinsame oder exklusive Nutzung eines Objekts im Rahmen der derzeit aktiven Transaktion. Eine Sperre in einem Objekt verhindert, dass ein Commit für Transaktionen ausgeführt wird, bevor die Sperre entfernt wurde. Microsoft SQL Server SQL Server Analysis Services unterstützt zwei Arten von Sperren, freigegebenen Sperren und exklusiven Sperren. Weitere Informationen zu den von SQL Server Analysis Services unterstützten Sperrtypen finden Sie unter Mode-Element (XMLA).

SQL Server Analysis Services ermöglicht es nur Datenbanken zu sperren. Das Object-Element muss einen Objektverweis auf eine SQL Server Analysis Services Datenbank enthalten. Wenn das Object -Element nicht angegeben ist oder wenn das Object -Element auf ein Objekt verweist, bei dem es sich nicht um eine Datenbank handelt, tritt ein Fehler auf.

Wichtig

Nur Datenbankadministratoren oder Serveradministratoren können explizit einen Lock -Befehl ausgeben.

Andere Befehle stellen implizit einen Sperrbefehl in einer SQL Server Analysis Services Datenbank aus. Jeder Vorgang, der Daten oder Metadaten aus einer Datenbank einliest (z. B. jede Discover -Methode oder eine Execute -Methode, die einen Statement -Befehl ausführt), gibt implizit eine gemeinsame Sperre der Datenbank aus. Jede Transaktion, die Änderungen in Daten oder Metadaten an ein Objekt in einer SQL Server Analysis Services-Datenbank angibt, z. B. eine Execute-Methode, die einen Alter-Befehl ausführt, stellt implizit eine exklusive Sperrung in der Datenbank aus.

Entsperren von Objekten

Der Befehl Unlock entfernt eine innerhalb des Kontexts der gerade aktiven Transaktion begründete Sperre.

Wichtig

Nur Datenbankadministratoren oder Serveradministratoren können explizit einen Unlock -Befehl ausgeben.

Alle Sperren werden im Kontext der aktuellen Transaktion abgehalten. Wenn die aktuelle Transaktion ausgeführt oder für diese ein Rollback durchgeführt wird, werden alle Sperren, die innerhalb der Transaktion definiert sind, automatisch aufgehoben.

Weitere Informationen

Lock-Element (XMLA)
Unlock-Element (XMLA)
Entwickeln mit XMLA in Analysis Services