1

SQL Server 2008 でリソース ガバナーを使用しようとしていますが、分類関数をデバッグして、入力変数の内容を把握するのが難しいと思います。つまり、SUSER_NAME() にドメイン名が含まれていますか? APP_NAME() 文字列はどのように見えますか?

また、正しく動作していることを確認することも困難です。関数はどのグループを返しましたか? これを確認する唯一の方法は、パフォーマンス モニターを起動して、右の CPU カウンターに小さなブリップがあるかどうか、瞬きもせずに監視することです。

ブレークポイントを設定してステップスルーして変数値を確認できるデバッグモードで実行する方法はありますか、または少なくともトレースステートメントをファイルに書き込む昔ながらの方法を実行して、確認できるようにすることはできますか?どうしたの?

ありがとう...

4

1 に答える 1

4

質問してからしばらく経ちましたが、まだすべてを把握していない可能性があります。

分類子関数をログに記録する方法はわかりませんが、おそらく SQL Server Profiler を使用できます。パフォーマンス モニタ以外のものを見ることで、正しく動作していることを確認できます。

SUSER_NAME() と APP_NAME() がどのように見えるかを確認するために簡単なクエリを使用できます。少なくとも接続については次のようになります。

SELECT 
    SUSER_NAME(), APP_NAME();

(はい、SUSER_NAME() には、Windows 認証を使用するアカウントのドメイン名が含まれます。)

DMV (Dynamic Management Vies) にクエリを実行して、現在のユーザー接続とそれに割り当てられているリソース ガバナー プールおよびワーク グループを表示できます。

SELECT
    Sess.session_id,
    Sess.program_name,
    Sess.host_name,
    Sess.login_name,
    Sess.nt_domain,
    Sess.nt_user_name,
    Sess.original_login_name,
    RG_WG.pool_id,
    RG_P.name as Pool_Name,
    Sess.group_id,
    RG_WG.name as WorkGroup_Name
FROM sys.dm_exec_sessions Sess
    INNER JOIN sys.dm_resource_governor_workload_groups RG_WG
        ON Sess.group_id = RG_WG.group_id
    INNER JOIN sys.dm_resource_governor_resource_pools RG_P
        ON RG_WG.pool_id = RG_P.pool_id
WHERE
    Sess.is_user_process = 1;
于 2010-05-30T05:23:36.930 に答える