Aracılığıyla paylaş


sp_getbindtoken (Transact-SQL)

Hareket için benzersiz bir kimlik verir.Bu benzersiz tanımlayıcıyı kullanarak oturumlara bağlamak için kullanılan dize sp_bindsession.

Important noteImportant Note:

This feature will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Birden çok Active sonuçlar kümesi (MARS) veya dağıtılmış hareketleri kullanın.Daha fazla bilgi için bkz: Birden çok Active sonucu kullanarak (MARS) ayarlar. veya Dağıtılmış işlemler (Veritabanı Altyapısı).

Topic link iconTransact-SQL sözdizimi kuralları

sp_getbindtoken [@out_token =] 'return_value' OUTPUT 

Bağımsız değişkenler

  • [@out_token =]'return_value'
    Is the token to use to bind sessions.return_value is varchar(255) with no default.

Dönüş Kodu Değerleri

None

Sonuç Kümeleri

None

Remarks

Içinde SQL Server 2000 ve daha yeni sürümü sp_getbindtoken geçerli bir simge, etkin bir işlem içinde saklı yordam çalıştırıldığında döndürecektir.Aksi durumda, Database Engine bir hata iletisi döndürür. Örneğin:

-- Declare a variable to hold the bind token.
-- No active transaction.
DECLARE @bind_token varchar(255);
-- Trying to get the bind token returns an error 3921.
EXECUTE sp_getbindtoken @bind_token OUTPUT;
Server: Msg 3921, Level 16, State 1, Procedure sp_getbindtoken, Line 4
Cannot get a transaction token if there is no transaction active.
Reissue the statement after a transaction has been started.

Not

Içinde SQL Server 7.0 sp_getbindtoken , saklı yordam dışında etkin bir işlem yürütülmeden bile, geçerli bir simge döndürür.Önceki örnek çalışma SQL Server 7. 0 ', ancak içinde değil SQL Server 2000 veya daha yeni.

Ne zaman sp_getbindtoken açık bir hareketi içinde dağıtılmış işlem bağlantı olarak kaydetmek için kullanılırSQL Server 2000 veya daha sonra aynı token'ı döndürür. Örneğin:

USE AdventureWorks;
GO
DECLARE @bind_token varchar(255);

BEGIN TRAN;

EXECUTE sp_getbindtoken @bind_token OUTPUT;
SELECT @bind_token AS Token;

BEGIN DISTRIBUTED TRAN;

EXECUTE sp_getbindtoken @bind_token OUTPUT;
SELECT @bind_token AS Token;

Both (Her ikisi) SELECT ifadeler aynı belirteci döndürün:

Token
-----
PKb'gN5<9aGEedk_16>8U=5---/5G=--
(1 row(s_) affected)

Token
-----
PKb'gN5<9aGEedk_16>8U=5---/5G=--
(1 row(s_) affected)

Bağlama simgesi ile kullanılabilir: sp_bindsession aynı hareket için yeni oturumlar bağlayın.Bağlama simgesi yalnızca yerel olarak her örnek içinde geçerlidir Database Engine ve birden çok örnek arasında paylaştırılamaz.

Elde ve bir bağlama simgesi geçirmek için çalıştırmanız gerekir sp_getbindtoken çalıştırmadan öncesp_bindsession aynı kilit alanını paylaşmak için.Bir bağlama simgesi edinirseniz sp_bindsession düzgün biçimde çalışıyor.

Not

Kullanacağınız öneririz srv_getbindtoken Veri Hizmetleri uygulama programı arabirim (API) bir genişletilmiş saklı yordam için bir bağlama simgesi elde etmek için açın.

İzinler

Üyelik gerektirir Ortak roldür.

Örnekler

Aşağıdaki örnek, bir bağlama simgesi alır ve bağlama belirteç adı görüntüler.

DECLARE @bind_token varchar(255);
BEGIN TRAN;
EXECUTE sp_getbindtoken @bind_token OUTPUT;
SELECT @bind_token AS Token;

Here is the result set.

Token
----------------------------------------------------------
\0]---5^PJK51bP<1F<-7U-]ANZ