• SQL Server2012如何打开2016的profiler文件


    SQL Server 2012如何打开2016的profiler文件

    作者:markjiang7m2
    原文地址:https://www.cnblogs.com/markjiang7m2/p/10980191.html

    背景

    在上星期,公司负责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 Server110ToolsProfilerTraceDefinitions目录,或者将事件探查器连接到该服务器以自动生成文件。然后重新打开该跟踪文件。

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

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

    sqlserver_01_profilerfail01

    sqlserver_02_profilerfail02

    好吧,我承认我的第一反应是这个文件损坏了,而不是觉得是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 Server130ToolsProfilerTraceDefinitionsMicrosoft SQL Server TraceDefinition 13.0.0.xml
    
    • 本地路径
    C:Program Files (x86)Microsoft SQL Server110ToolsProfilerTraceDefinitions
    

    这个解决方案也同样用于SQL Server 2008。

    延伸

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

    sqlserver_03_emptytemplate

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

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

    • 2016 profiler的跟踪定义文件路径
    C:Program Files (x86)Microsoft SQL Server140ToolsProfilerTemplatesMicrosoft SQL Server130
    
    • 本地路径
    C:Program Files (x86)Microsoft SQL Server110ToolsProfilerTemplatesMicrosoft SQL Server
    

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

    sqlserver_04_fulltemplate

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

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

    sqlserver_05_newtemplate

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

    sqlserver_06_exporttemplate

    sqlserver_07_importtemplate

    参考文献
    本文在编写过程中引用或参考了以下文章中的部分内容,如有侵权,请联系修改或删除。
    https://www.cnblogs.com/zhang502219048/p/10957612.html

    总结

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

  • 相关阅读:
    AD 文档信息设置和制作模板
    用AT命令调试调制解调器
    语音AT命令参考
    传真AT指令部分(参考)
    传真调制解调器
    knockout+weui+zepto
    20171028随手记
    20171027随记
    一些简单又坑人的无聊使用
    ReadWrite,日志,输入文本
  • 原文地址:https://www.cnblogs.com/markjiang7m2/p/10980191.html
Copyright © 2020-2023  润新知