共用方式為


srv_getbindtoken (擴充預存程序 API)

重要注意事項重要事項

未來的 Microsoft SQL Server 版本將移除這項功能。請勿在新的開發工作中使用此功能,並且儘速修改使用此功能的應用程式。 請改用 CLR 整合。

在目前的用戶端工作階段中取得叫用擴充預存程序之交易的繫結 Token。

接著,擴充預存程序可以使用 sp_bindsession,將針對相同伺服器的建立的任何新工作階段繫結至現有的交易,讓新的工作階段可以與叫用擴充預存程序的用戶端工作階段共用相同的交易鎖定空間。

語法


int srv_getbindtoken (
SRV_PROC*
srvproc
,
char*
bindtoken
);

引數

  • srvproc
    是指向 SRV_PROC 結構的指標,也是特定用戶端連接的控制代碼。此結構包含了擴充預存程序 API 程式庫用來管理應用程式與用戶端之間之通訊和資料的所有資訊。

  • bindtoken
    這是將複製繫結 Token 所在緩衝區的指標。繫結 Token 會表示為以 null 結尾的字串。您指定的緩衝區長度至少應該為 255 個位元組。

傳回值

SUCCEED 或 FAIL。

備註

將擴充預存程序工作階段繫結到呼叫它的用戶端工作階段,讓它們可以共用相同的交易鎖定空間

  1. 擴充預存程序會呼叫 svr_getbindtoken 來取得工作階段中目前交易的繫結 Token。此 Token 會以給定的 bindtoken 參數傳回。

  2. 擴充預存程序會針對相同的伺服器開啟新的工作階段。在該工作階段內部,擴充預存程序會搭配 sp_bindsession 使用繫結 Token,將新的工作階段繫結到相同的交易。擴充預存程序可以建立多個工作階段,並將所有工作階段繫結到相同的交易。

  3. 當外部預存程序傳回時,或使用空字串呼叫 sp_bindsession 時,會取消繫結已繫結的工作階段。

    [!附註]

    一次只有一個繫結的工作階段可以存取共用連接。如果某個工作階段目前正在伺服器上執行陳述式或等待伺服器的暫止結果,共用相同繫結連接的其他工作階段都無法存取伺服器,直到目前的工作階段完成執行目前的陳述式為止。如果有工作階段嘗試在伺服器忙線時存取連接,就會將錯誤傳回到發生衝突的工作階段,表示連接正在使用中,而且工作階段應該在稍後重試。

安全性注意事項安全性注意事項

您應該徹底檢閱擴充預存程序的原始程式碼,也應該先測試編譯過的 DLL,才能將它們安裝在實際執行伺服器上。如需有關安全性檢閱和測試的詳細資訊,請參閱此 Microsoft 網站