2012-03-02 30 views
0

我有一堆存儲過程在Web應用程序中的SQL Server實例中執行業務邏輯作業。當出現問題時,他們都會在特定的表中排列一條消息(比如說'警告'),以跟蹤錯誤嚴重程度和問題描述。我希望使用存儲過程的Web應用程序能夠在運行結束時查詢消息表,但只能獲取適當消息的列表,即在特定會話或特定連接期間創建的消息:所以我處於無疑,如果將會話ID從SQL Server傳輸到Web腳本

  1. 有Web應用程序發送到GUID來INSERT在消息記錄的字段值(但不知何故,我必須保持它的軌道在頁面級別運行幾個存儲的特效分貝,所以我需要的東西, 「全局」)

    OR

  2. ,如果我可以使用一些ID相對通過應用程序打開的連接 - 這肯定會更理智。類似的信息(這是僞代碼):

    SELECT @sessionid = sessionid FROM sys.something where this = that 
    

有一些提示?

非常感謝您的想法

回答

0

要檢索當前的SessionID在SQL Server中,你可以簡單地執行以下命令:

select @@SPID 

參見:
http://msdn.microsoft.com/en-us/library/ms189535.aspx

+0

快速的和有用的... :-)非常感謝 – Daniel 2012-03-02 10:04:19

+0

......但是如果當前的SPID具有與之前的SPID相同的號碼呢?比方說,今天我得到了sspid 56,幾天前不同的用戶得到了相同的sspid。我不能唯一地識別我自己的信息,我也可以得到以前的信息。我可以在日期的where子句中使用它,但我不知道會話ID的唯一性標準。在哪個時間框架內授予其獨特性? – Daniel 2012-03-02 10:12:34

+0

嗯,確定,但是從你的問題來看,這是不明確的;)如果這是你想要的,你將需要向SP提交某種手工管理的用戶ID,但是你不能在SQL Server本身沒有一個單獨的SQL Server用戶爲您的系統的每個用戶,因爲它是一個Web應用程序,我懷疑這個選項是可行的 – ntziolis 2012-03-02 10:17:44

相關問題