欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

SQL Server2012如何打开2016的profiler文件

程序员文章站 2022-03-18 16:02:50
SQL Server打开profilter文件,提示错误:无法打开文件。文件可能已损坏,也可能是数据格式不正确。 ......

sql server 2012如何打开2016的profiler文件

作者:markjiang7m2
原文地址:

背景

在上星期,公司负责support的同事接到反馈说某个项目生产环境上的某个页面加载很慢,一般遇到这种问题,我们的support同事都会先上数据库抓一下profiler,然后再让我们开发的找原因。但是,当我尝试打开这个profiler文件的时候,却弹出了错误提示:

找不到跟踪定义文件microsoft sql server tracedefinition 13.0.0.xml(用于打开的跟踪文件x.trc)。请连接到microsoft sql server 13.0.0服务器并将文件microsoft sql server tracedefinition 13.0.0.xml复制到您的c:\program files (x86)\microsoft sql server\110\tools\profiler\tracedefinitions目录,或者将事件探查器连接到该服务器以自动生成文件。然后重新打开该跟踪文件。

然后点击确认,又弹出第二个提示框

无法打开文件。文件可能已损坏,也可能是数据格式不正确。

SQL Server2012如何打开2016的profiler文件

SQL Server2012如何打开2016的profiler文件

好吧,我承认我的第一反应是这个文件损坏了,而不是觉得是sql server版本的问题。

然后我做了一个测试,在本地远程连接到测试服务器进行抓取profiler,并保存文件,一切都正常。但是当我重新打开这个文件的时候,我又得到了之前的错误提示,我才考虑可能是因为版本的问题。

解决方案

support的同事跟我说,这个文件是要在sql server 2016上面才能打开的,因为生成环境用的是2016。当然,他没有说错,是可以这么操作的,只是这样,好像比较麻烦,而且感觉这操作还有点笨。。
好吧,其实sql server在第一个提示中已经给了解决方案了,只是被我习惯性地忽略了。

我本地安装的实例是sql server 2012,然后服务器上面数据库实例是sql server 2016,所以我本地就缺少了2016的跟踪定义文件,只要把这个文件复制到我本地,就可以正常打开2016的profiler文件了。

  • 2016 profiler的跟踪定义文件路径
c:\program files (x86)\microsoft sql server\130\tools\profiler\tracedefinitions\microsoft sql server tracedefinition 13.0.0.xml
  • 本地路径
c:\program files (x86)\microsoft sql server\110\tools\profiler\tracedefinitions

这个解决方案也同样用于sql server 2008。

延伸

其实还可以注意到,如果我们直接在sql server 2012中连接2016抓取profiler时,没有任何的模板可以选择,这就需要我们每次都重新设置跟踪的选项,很是麻烦。

SQL Server2012如何打开2016的profiler文件

这个问题跟上面的问题有点类似,是因为sql server 2012 profiler中缺少了2016 profiler的模板文件,所以只要将2016 profiler上的模板文件复制到本地就可以了。

这次是需要将整个文件夹一起复制下来

  • 2016 profiler的跟踪定义文件路径
c:\program files (x86)\microsoft sql server\140\tools\profiler\templates\microsoft sql server\130
  • 本地路径
c:\program files (x86)\microsoft sql server\110\tools\profiler\templates\microsoft sql server

重新打开profiler就可以看到2016的模板了。

SQL Server2012如何打开2016的profiler文件

再延伸一下。经常使用profiler的朋友应该都会遇到这样的情况,sql server提供的模板跟自己想要的不太一样,这个时候,我们就可以新建属于自己的模板了。

  • 在 “文件” 菜单上,单击 “模板”,再单击 “新建模板
  • 选择服务器类型,不同版本服务器之间的模板是不通用的
  • 还可以基于现有的模板进行改造

SQL Server2012如何打开2016的profiler文件

建立好的profiler模板还可以导出成.trc文件,再导入到其它机器上面使用

SQL Server2012如何打开2016的profiler文件

SQL Server2012如何打开2016的profiler文件

参考文献
本文在编写过程中引用或参考了以下文章中的部分内容,如有侵权,请联系修改或删除。

总结

今天分享给大家的文章不是什么干货,只是记录一下在我工作中遇到的问题和解决方案,希望对各位有用。也算是一点小技巧吧,对于经常使用profiler的朋友来说确实是能省下不少功夫的。今天就先跟大家介绍到这里,希望大家能持续关注我们。