Aracılığıyla paylaş


sp_releaseapplock (Transact-SQL)

Bir uygulama kaynak üzerindeki kilit yayımlar.

Topic link iconTransact-SQL sözdizimi kuralları

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

Bağımsız değişkenler

  • [ @Resource = ] 'resource_name'
    Bir Kilit kaynak adı, istemci uygulaması tarafından belirtilen.Uygulama, kaynağın benzersiz olduğundan emin olmalısınız.The specified name is hashed internally into a value that can be stored in the SQL Server lock manager.resource_name is nvarchar(255) with no default.resource_name is binary compared, thus is case-sensitive regardless of the collation settings of the current database.

  • [ @LockOwner = ] 'lock_owner'
    Is the owner of the lock, which is the lock_owner value when the lock was requested.lock_owner is nvarchar(32).Değeri olabilir Hareket (varsayılan) veya oturum.Zaman lock_owner değer Hareket, varsayılan olarak veya açıkça, belirtilmedi.sp_getapplock bir işlem içinde yürütülmelidir.

  • [ @DbPrincipal = ] 'database_principal'
    Kullanıcı, role veya veritabanında bir nesne için izinleri olan uygulama rolü belirtilir.Arayanın işlevnin olmalıdır bir üye, database_principal, dbo, or the db_owner işlev başarıyla çağırmak için sabit veritabanı rolü.Varsayılan ortaktır.

Dönüş Kodu Değerleri

>0 (başarılı), = veya < 0 (hata)

Değer

Sonuç

0

kilit başarıyla yayımlandı.

-999

Parametre doğrulamasını veya başka bir çağrı hata gösterir.

Remarks

Uygulama ağda bir sp_getapplock için birden çok kez aynı kilit kaynak, sp_releaseapplock aynı sayıda kilidi açmak için bir kez çağrılması gerekir.

Sunucu herhangi bir nedenle kapatıldığında, kilitlerin serbest bırakılır.

İzinler

Üyelik gerektirir Ortak roldür.

Örnekler

Aşağıdaki örnek kaynağın geçerli hareketle ilişkili kilit býrakýr. Form1 içinde AdventureWorks Veritabanı.

USE AdventureWorks;
GO
EXEC sp_getapplock @DbPrincipal = 'dbo', @Resource = 'Form1', 
     @LockMode = 'Shared';
EXEC sp_releaseapplock @DbPrincipal = 'dbo', @Resource = 'Form1';
GO