如果你有一个服务器SQLSERVER的2005 SP2的安装,您可以自定义报告,特别是绩效仪表板报表由Microsoft提供的。 这些报告提供了关于服务器状态和限制因素,如查询的信息是最消耗CPU或磁盘访问,或有关如何创建缺失索引的建议。
在这篇文章中我将介绍如何安装这些报告,但还修复两个恼人的错误。
首先要做到的,是下载微软网站上的安装文件和安装在你的服务器。 默认情况下,报告将被安装在C:\ Program Files文件\ Microsoft SQL Server的\ 90 \ ToolsPerformanceDashboard。 接着编辑文件setup.sql位于此目录并替换代码:
总结(转换(为bigint,的DATEDIFF(毫秒,login_time,的getDate ()))) - 森(转换(为bigint,s.total_elapsed_time))作为idle_connection_time, 由
总结(转换(为bigint,科协(的DATEDIFF(分钟,login_time,getdate()的)为的BIGINT)* 60000 +的DATEDIFF(毫秒,DATEADD(分钟,的DATEDIFF(分钟,login_time,getdate()的),login_time),getdate()的) )) - 森(转换(为bigint,s.total_elapsed_time))作为idle_connection_time, 这纠正了“差异性泛滥所造成的两个日期时间列在运行时错误”发生时加载的网页时,该报告的服务器正常运行时间超过3-4周1 。
对于第二个错误修复程序来制作,编辑该文件并替换代码行recent_cpu.rdl到行3271和3305的:
从(选择s.session_id,r.request_id,s.login_time - s.host_name,s.program_name,s.login_name,session_status s.status作为,s.last_request_start_time,s.last_request_end_time,有s.cpu_time session_cpu_time,研究。cpu_time有request_cpu_time - s.logical_reads有session_logical_reads - r.logical_reads有request_logical_reads,r.start_time有request_start_time,r.status有request_status,r.command,master.dbo.fn_varbintohexstr(r.sql_handle)已sql_handle, master.dbo.fn_varbintohexstr(r.plan_handle)已plan_handle,r.statement_start_offset,r.statement_end_offset,箱-史蒂夫:修复从这里开始:当转换(为bigint,科协(的DATEDIFF(分钟,start_time,getdate()的)为的BIGINT) * 60000 +的DATEDIFF(毫秒,DATEADD(分钟的DATEDIFF(分钟,start_time,getdate()的),start_time),然后转换的getDate ()))> 0(浮动,r.cpu_time)/转换(为bigint,科协(的DATEDIFF(分钟,start_time,getdate()的)为的BIGINT)* 60000 +的DATEDIFF(毫秒,DATEADD(分钟,的DATEDIFF(分钟,start_time,getdate()的),start_time),getdate()的))其他转换(浮动,1.0)结束avg_request_cpu_per_ms,也可以参考isNull(的DATEDIFF(毫秒而言,当r.start_time <@ @ WithActivitySince然后WithActivitySince其他r.start_time年底,getdate()的),0)已request_ms_in_window而言,当s.login_time>的getDate()然后将其转换(浮动,下。cpu_time)/(的DATEDIFF(日,s.login_time,getdate()的)*演员(如为bigint 8640.0万)+的DATEDIFF(毫秒,DateAdd(年,的DATEDIFF(日,s.login_time,getdate()的),s.login_time) ,getdate()的))其他转换(浮动,1.0)avg_session_cpu_per_ms年底,转换(为bigint,也可以参考isNull(的DATEDIFF(第而言,当s.login_time <@ @ WithActivitySince然后WithActivitySince其他s.login_time年底,案例什么时候r.request_id空然后s.last_request_end_time其他getdate()的结束),0))* 1000有sys.dm_exec_sessions session_ms_in_window从左手加入sys.dm_exec_requests我们现在是R = s.session_id r.session_id和s.session_id = 1 -史蒂夫:修复到此为止在哪里(s.last_request_end_time> @ WithActivitySince r.request_id黄金不是null)WithActivitySince),以在哪里(* avg_request_cpu_per_ms request_ms_in_window)+(* avg_session_cpu_per_ms session_ms_in_window)> 1000.0 </的CommandText> <QueryParameters> <QueryParameter名称=“@” > = <值>参数!/ QueryParameters WithActivitySince.Value </值> </ QueryParameter> <> <DataSourceName> DataSource1 </ DataSourceName> </查询> 这修正了像以前类似的问题,这个时候,你按一下蓝色的报告系统利用主页上的领域(图形处理器的SQL)的2 。
要加载的报告,只需右键点击SQLSERVER的2005 SP2的服务器上的设备进行,并选择报告>自定义报告 ,然后选择该文件C:\ Program Files文件\ Microsoft SQL Server的\ 90 \工具\ PerformanceDashboard \ performance_dashboard_main.rdl。 如果您想使用此客户端的报告将要分享的目录。
- 来源: http://blogs.msdn.com/sqlrem/archive/2007/03/07/Performance-Dashboard-Reports-Now-Available.aspx [ ↩ ]
- 来源: http://blogs.msdn.com/sqlrem/archive/2007/03/07/Performance-Dashboard-Reports-Now-Available.aspx [ ↩ ]











