(0) exportieren Drucken
Alle erweitern
Erweitern Minimieren
Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

sp_releaseapplock (Transact-SQL)

Gibt eine Sperre für eine Anwendungsressource frei.

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen

sp_releaseapplock [ @Resource = ] 'resource_name' 
     [ , [ @LockOwner = ] 'lock_owner' ]
     [ , [ @DbPrincipal = ] 'database_principal' ]
[ ; ]
[ @Resource= ] 'resource_name'

Der Name einer Sperrressource, der von der Clientanwendung angegeben wird. In der Anwendung muss sichergestellt sein, dass die Ressource eindeutig ist. Der angegebene Name wird intern als Hashwert in einem Wert gespeichert, der im SQL Server-Sperren-Manager gespeichert werden kann. resource_name ist vom Datentyp nvarchar(255) und hat keinen Standardwert. resource_name unterliegt dem Binärvergleich. Daher muss die Groß-/Kleinschreibung unabhängig von den Sortierungseinstellungen der aktuellen Datenbank berücksichtigt werden.

[ @LockOwner= ] 'lock_owner'

Der Besitzer der Sperre. Dabei handelt es sich um den Wert von lock_owner beim Anfordern der Sperre. lock_owner ist vom Datentyp nvarchar(32). Der Wert kann Transaction (Standard) oder Session lauten. Wenn für Transaction der Wert lock_owner angegeben wird, und zwar unabhängig davon, ob dies der Standardwert ist oder ob er explizit angegeben wurde, muss sp_getapplock aus einer Transaktion heraus ausgeführt werden.

[ @DbPrincipal= ] 'database_principal'

Der Benutzer, die Rolle oder die Anwendungsrolle mit Berechtigungen für ein Objekt in einer Datenbank. Zum erfolgreichen Aufrufen einer Funktion muss der Aufrufer der Funktion Mitglied einer der folgenden festen Datenbankrollen sein: database_principal, dbo oder db_owner. Der Standardwert ist public.

>= 0 (Erfolg) oder < 0 (Fehler)

Wert

Ergebnis

0

Die Sperre wurde erfolgreich aufgehoben.

-999

Weist auf einen Fehler bei der Parameterüberprüfung oder einen anderen Aufruffehler hin.

Wenn eine Anwendung mehrere Male sp_getapplock für dieselbe Sperrenressource aufruft, muss sp_releaseapplock genauso oft aufgerufen werden, um die Sperre aufzuheben.

Wenn der Server aus irgendeinem Grund heruntergefahren wird, werden alle Sperren aufgehoben.

Erfordert die Mitgliedschaft in der public-Rolle.

Im folgenden Beispiel wird eine Sperre, die der aktuellen Transaktion zugeordnet ist, für die Ressource Form1 in der AdventureWorks2012-Datenbank aufgehoben.

USE AdventureWorks2012;
GO
EXEC sp_getapplock @DbPrincipal = 'dbo', @Resource = 'Form1', 
     @LockMode = 'Shared';
EXEC sp_releaseapplock @DbPrincipal = 'dbo', @Resource = 'Form1';
GO
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Vielen Dank für Ihr Feedback.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft. Alle Rechte vorbehalten.