2012-03-02 3 views
0

Webアプリケーション内のSQL Serverインスタンスでビジネスロジックジョブを実行するために格納された一連のprocsがあります。何かがうまくいかないと、すべての人が特定のテーブルにメッセージをキューイングします(「警告」と言う)エラーの重大度と問題の説明を記録します。私は、実行の最後にメッセージテーブルを照会することができるが、適切なメッセージ、すなわち特定のセッションまたはその特定の接続の間に作成されたメッセージのリストを取得するために格納されたprocsを使用するWebアプリケーションを望んでいる。疑いSQL ServerからWebスクリプトにセッションIDを送信する

  1. は、Webアプリケーションがメッセージレコードに列値としてINSERTにデシベルGUIDに送る必要があり(どういうわけか、私はページレベルで実行されているいくつかの保存されてprocsでそれを追跡する必要があるので、私ならば私はいくつかのid RELを使用できるかどう

    OR

  2. ) "グローバル" なものが必要アプリケーションによって開かれた接続にアテッドしました - そして、これは間違いなく正気になります。 (これは擬似コードである)ような何か:

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

は、いくつかのヒントをお持ちですか? SQL Serverで現在のSessionIdを取得するために

おかげで、あなたのアイデアをたくさん

答えて

0

あなたは、単に以下を実行することができます。

select @@SPID 

参照:
http://msdn.microsoft.com/en-us/library/ms189535.aspx

+0

クイックと便利... :-)ありがとうございました – Daniel

+0

...しかし、現在のSPIDに以前のSPIDの番号が同じ場合はどうなりますか?私が今日sspidを56と数日前に取得しようとすると、別のユーザーが同じsspidを取得したとしましょう。私は自分のメッセージを一意に識別することはできません。以前のメッセージも受け取ることができます。私は日付のwhere句でそれを使用することができますが、私はセッションIDの一意性の基準を知らない。そのユニークさはどのタイムフレームで認められますか? – Daniel

+0

ああ、確かに、あなたの質問からはっきりしていなかった;)もしこれがあなたの望むものなら、何らかの種類の手動で管理されたuserIDをSPに提出する必要があるなら、SQL Server自体の中でこれを実行することはできません私はこのオプションが実現可能であるかどうか疑問に思う – ntziolis

関連する問題