我正在尝试使用SQL Server2008中的资源调控器,但我发现很难调试分类函数并弄清楚输入变量将具有什么,即SUSER_NAME()是否包含域名?APP_NAME()字符串是什么样子的?
也很难验证它是否正常工作。函数返回了哪个组?我能看到这一点的唯一方法是打开性能监视器,不眨眼地观察右侧CPU计数器中的小光点。
有没有什么方法可以在调试模式下运行它,在这种模式下,我可以设置断点,逐步执行并查看变量值,或者至少可以使用老式的方法将跟踪语句写到文件中,这样我就可以看到发生了什么?
谢谢..。
发布于 2010-05-30 13:23:37
从你问起已经有一段时间了,但也许你还没有弄清楚所有的问题。
我不知道有什么方法可以记录分类器函数,尽管您可能可以使用SQL Server事件探查器。您可以通过查看性能监视器以外的其他东西来验证它是否正常工作。
您可以使用一个简单的查询来查看SUSER_NAME()和APP_NAME()的外观,至少对于您的连接是这样的:
SELECT
SUSER_NAME(), APP_NAME();(是,SUSER_NAME()将包含使用Windows身份验证的帐户的域名。)
您可以查询DMV(动态管理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;https://stackoverflow.com/questions/2008477
复制相似问题