设为首页 收藏本站
查看: 1233|回复: 0

[经验分享] 使用SQL Nexus整合----解决日常问题

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-7-18 10:25:14 | 显示全部楼层 |阅读模式
这节介绍RML Utilities和SQL Nexus的用户会遇到的最常见问题,及其最佳解决方案。
问题#1
当你试图通过SQL Nexus导入一个SQL Trace文件时,在SQL Nexus日志文件里你或许会遇到如下错误:
"The system cannot find the file specified (System)"
Program Location:
at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start()
at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
at ReadTrace.ReadTraceNexusImporter.DoImport() in
C:\jacklidocs3\cprsrc\main\src\sqlnexus_pass\ReadTraceNexusImporter\
ReadTraceNexusImporter.cs:line 364
at sqlnexus.fmImport.DoImport() in
C:\jacklidocs3\cprsrc\main\src\sqlnexus_pass\sqlnexus\fmImport.cs:line 557
出现这条信息是因为如下原因之一:
  • RML Utilities版本比当前版本老。如果这样,安装最新版本的RML Utilities。
  • RML Utilities没有用SQL Nexus注册。要矫正这个,定位到C:\Program Files\Microsoft Corporation\RMLUtils,并在命令提示中执行orca.exe /R。
问题#2
当你使用默认设置运行Reporter时,你或许会遇到下面错误:
Server: (local) Error: 4060 Severity: 11 State: 1 Line: 65536 Source: .Net
SqlClient Data Provider
Cannot open database "PerfAnalysis" requested by the login. The login failed.
当你启动Reporter时,Reporter是RML Utilities安装的一部分,PerfAnalysis数据库是其尝试连接的默认数据库。你需要更改数据库的名称,这个数据库是你要用SQL Nexus导入SQL Trace文件的数据库,这样就可以产生报表并避免前面的错误信息。
问题#3
如果你不能看到Blocking和Wait Statistics报告,或Bottleneck Analysis报告,或者你收到错误“Database doesn’t have the necessary data to run this report”,那么在SQL Nexus数据库表中没有所需数据来生成报告。从错误信息中,这看起来很明显,但是你需要确定是否有足够的数据来产生这些报告。大量的SQL Nexus用户报告异常或空报表之后,这个弹出的信息就会添加到工具中,因为与报告相关的所需的数据不在表中。
这些报表的数据是基于依赖SQL Server实例版本的SQL Perf Stats脚本而采集来的。包含前面所说报告的数据的文件通常的命名约定是:<ServerName>__SQL_2005_Perf_Stats_Startup.OUT or <ServerName>__SQL_2008_Perf_Stats_Startup.OUT。 确保这个文件至少收集2个SQL Server 2005/2008 PerfStats脚本中T-SQL查询的输出快照。检查Nexus数据库中的下面的表中是否有数据:tbl_Requests、tbl_blocking_chains和tbl_notableActiveQueries。如果在导入数据的过程中,SQL Nexus引擎没有发现SQL Server Perf Stats脚本输出,这些表就不会产生。这些表数据的缺失会导致上面的错误。
使用存储过程sp_blocker_pss08收集SQL Server 2005及更新实例上阻塞相关的数据会有另一个常见的陷阱。如果你使用存储过程收集阻塞数据,那么你需要使用SQL 2000 Perf Stats报告来查看集成的数据,因为它被导入到一个叫tbl_sysprocesses的不同的表中,与脚本相关的导入进程不能创建前面所说的表。
问题 #4
当你点击SQL Nexus中ReadTrace_Main报表中的UniqueStatements链接时,你会看到下面的错误摘录:
Must declare the scalar variable "@StartTimeInterval".
这个错误在异常信息中报告,异常信息同样是SQL Nexus产生的。这个问题不是SQL Nexus,而是RML Utilities报告。你可以通过下面的条件获得这个问题:
  • readtrace.tblStatements和readtrace.tblTimeIntervals没有数据(entry)
  • 使用更老的ReadTrace版本(RML Utilities)
没有为Start Time和End Time指定任何参数时,当你点击UniqueStatements报告链接就会发生这个问题。
注意:你可以发送e-mail给sstlbugs@microsoft.com,并寻要最新的带ReadTrace和SQL Nexus日志文件的RML Utilities。



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-22289-1-1.html 上篇帖子: 使用SQL Nexus整合----定制SQL Nexus 下篇帖子: 使用Extended Events诊断SQL Server 2012 Nexus
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表