Aracılığıyla paylaş


sp_getbindtoken (Transact-SQL)

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

Önemli notÖnemli

Bu özellik Microsoft SQL Server'ın ilerideki bir sürümünde kaldırılacaktır. Yeni geliştirme işlerinde bu özelliği kullanmaktan kaçının ve bu özelliği kullanmakta olan uygulamalarda değişiklik yapmayı planlayın.Birden çok etkin sonuç kümeleri (mars) veya dağıtılmış hareketleri kullanın.Daha fazla bilgi için, bkz. Çoklu Active sonucu kullanarak (mars) ayarlar veya Dağıtılmış hareketleri (veritabanı altyapısı).

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

Sözdizimi

sp_getbindtoken [@out_token =] 'return_value' OUTPUT 

Bağımsız değişkenler

  • [@out_token= ]'return_value'
    Oturumlara bağlamak için kullanılacak belirteç olur.return_valueİş varchar(255)ile hiçbir varsayılan.

Dönüş Kodu Değerleri

Hiçbiri

Sonuç Kümeleri

Hiçbiri

Açıklamalar

İçinde SQL Server 2000 ve daha sonra sp_getbindtoken geçerli bir simgesi, yalnızca zaman içinde saklı yordam yürütüldüğünde döndürüretkin bir hareket.Aksi takdirde, Veritabanı Altyapısı döndürür bir hata iletisi.Ö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

De SQL Server 7.0, sp_getbindtoken bile saklı yordam yürütüldüğünde dışında geçerli bir belirteci döndürüretkin bir hareket.Önceki örnek çalışır SQL Server 7.0, ancak değil de SQL Server 2000 veya üstü.

Zaman sp_getbindtoken dağıtılmış işlem bağlantı açık bir hareket içinde enlist için kullanılan SQL Server 2000 veya daha sonra döndürür aynı belirteci.Örneğin:

USE AdventureWorks2008R2;
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;

Her ikisi de SELECT ifadeleri aynı belirteci döndürür:

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 belirteç kullanılabilir sp_bindsession yeni oturumlar için bağlamak içinaynı hareketi.Bağlama belirteci yalnızca yerel olarak her örnek içinde geçerli olan Veritabanı Altyapısı ve birden çok örneği arasında paylaşılamaz

Elde etmek ve bağlama belirteç geçirmek için çalıştırmalısınız sp_getbindtoken yürütmeden önce sp_bindsession Paylaşımı aynı kilit alanı.Bir bağlama belirteç edinirseniz sp_bindsession düzgün biçimde çalışıyor.

Not

Sizin kullanmanızı öneririz srv_getbindtoken bir genişletilmiş saklı yordamkullanılacak bağlama belirteç edinme Aç Veri Hizmetleri uygulama programı arabirimi (API).

İzinler

Üyelik gerektiren public rolü.

Örnekler

Aşağıdaki örnek bir bağlama belirteç 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;

Sonuç kümesi buradadır.

Token

----------------------------------------------------------

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