Aracılığıyla paylaş


alındı (Transact-sql)

Hareket için benzersiz bir kimlik verir. Bu benzersiz tanımlayıcı kullanarak oturumlara bağlamak için kullanılan bir dizedir 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 Active sonuçları kümesi (mars) veya dağıtılmış hareketleri kullanın. Daha fazla bilgi için, bkz. Çoklu Active sonucu kullanarak (mars) ayarlar.

Konu bağlantısı simgesi Transact-SQL Sözdizim 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 belirteç olur. return_valueise varchar(255)hiçbir varsayılan ile.

Dönüş Kodu Değerleri

Hiçbiri

Sonuç Kümeleri

Hiçbiri

Açıklamalar

sp_getbindtokenyalnızca etkin bir hareketin içinde saklı yordam çalıştırıldığında geçerli bir belirteci döndürür. Aksi takdirde, Veritabanı Altyapısıhata iletisi döndürecektir. Ö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.

-- 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.

Ne zaman sp_getbindtokenbir dağıtılmış işlem bağlantı açık bir hareket içinde askere için kullanılan SQL Serveraynı belirteci döndürür. Örneğin:

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

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

Hem SELECTdeyimleri 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)

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_bindsessionaynı hareketle yeni oturumlara bağlamak için. Bağlama belirteç, yalnızca yerel olarak her örneği içinde geçerli olur Veritabanı Altyapısıve birden çok örneği arasında paylaşılamıyor.

Alma ve bağlama belirteç geçmek için çalıştırmalısınız sp_getbindtokenyürütmeden önce sp_bindsessionaynı kilit alanı paylaşımı. Bir bağlama belirteç edinirseniz sp_bindsessiondüzgün biçimde çalışıyor.

[!NOT]

We recommend that you use srv_getbindtokenAç veri hizmetleri uygulama programlama arabirimi (API) genişletilmiş bir saklı yordam için bir bağlama belirteç edinme.

İzinler

Üyelik publicrolü.

Örnekler

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

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

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

Ayrıca bkz.

Başvuru

sp_bindsession (Transact-sql)

Sistem saklı yordamları (Transact-sql)

srv_getbindtoken (genişletilmiş saklı yordam API)