Sql server 在Sql Server 2008中跟踪或记录资源调控器分类函数行为

Sql server 在Sql Server 2008中跟踪或记录资源调控器分类函数行为,sql-server,tsql,sql-server-2008,resource-governor,Sql Server,Tsql,Sql Server 2008,Resource Governor,我试图在SQLServer2008中使用资源调控器,但我发现很难调试分类函数并确定输入变量将包含什么,即SUSER_名称是否包含域名?应用程序名称字符串是什么样子的 也很难验证它是否正常工作。函数返回了哪个组?我能看到这一点的唯一方法是启动性能监视器,无链接地观察右CPU计数器中的小光点 有什么方法可以在调试模式下运行它,在那里我可以设置一个断点并单步执行并查看变量值,或者我至少可以执行将跟踪语句写入文件的老方法,以便查看发生了什么 谢谢……你已经有一段时间没问了,但也许你还没有完全弄明白 我不

我试图在SQLServer2008中使用资源调控器,但我发现很难调试分类函数并确定输入变量将包含什么,即SUSER_名称是否包含域名?应用程序名称字符串是什么样子的

也很难验证它是否正常工作。函数返回了哪个组?我能看到这一点的唯一方法是启动性能监视器,无链接地观察右CPU计数器中的小光点

有什么方法可以在调试模式下运行它,在那里我可以设置一个断点并单步执行并查看变量值,或者我至少可以执行将跟踪语句写入文件的老方法,以便查看发生了什么


谢谢……

你已经有一段时间没问了,但也许你还没有完全弄明白

我不知道有什么方法可以记录分类器函数,尽管您可能会使用SQL Server Profiler。您可以通过查看性能监视器以外的内容来验证它是否正常工作

您可以使用一个简单的查询查看SUSER_名称和APP_名称的外观,至少对于您的连接是这样的:

SELECT 
    SUSER_NAME(), APP_NAME();
是SUSER_NAME将包含使用Windows身份验证的帐户的域名

您可以查询DMVs动态管理VIE,以显示当前用户连接以及分配给它的资源调控器池和工作组:

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;

你已经有一段时间没问了,但也许你还没有完全弄明白

我不知道有什么方法可以记录分类器函数,尽管您可能会使用SQL Server Profiler。您可以通过查看性能监视器以外的内容来验证它是否正常工作

您可以使用一个简单的查询查看SUSER_名称和APP_名称的外观,至少对于您的连接是这样的:

SELECT 
    SUSER_NAME(), APP_NAME();
是SUSER_NAME将包含使用Windows身份验证的帐户的域名

您可以查询DMVs动态管理VIE,以显示当前用户连接以及分配给它的资源调控器池和工作组:

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;

祝你好运,这就是专业知识的来源。祝你好运,这就是专业知识的来源。