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 Server\110\Tools\Profiler\TraceDefinitions目录,或者将事件探查器连接到该服务器以自动生成文件。然后重新打开该跟踪文件。

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

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

好吧,我承认我的第一反应是这个文件损坏了,而不是觉得是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 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的模板了。

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

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

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

参考文献

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

https://www.cnblogs.com/zhang502219048/p/10957612.html

总结

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

SQL Server2012如何打开2016的profiler文件的更多相关文章

  1. sql server 2012 profiler打开2016的profiler

    软件环境:1.本机是sql server 2012,远程服务器是sql server 20162.本机是Windows 7,安装不了sql server 2016 问题场景1:本机sql server ...

  2. SQL Server 无法打开物理文件的 2 种解决办法

    解决方法: 方法1.无法打开可以能是没有权限.如果是这样以管理员身份运行Managerment Studio就可以了. 方法2.找到指定的数据库文件.右键属性-->安全-->勾上  ‘完全 ...

  3. SQL Server2012 配置管理器无法打开

    由于需要电脑上装了 SQLServer 2008 R2 和 SQLServer 2012 两个版本的数据库,两个库的实例名称不一样,之前一直用实例名连接对应的数据库,正常没有问题.现在用 “ip+端口 ...

  4. Excel 2016双击文件打开后是空白,再次双击才能打开(或者通过文件,打开才能打开)

    问题描述: 直接双击excel文件打开后是空白的,几乎所有功能都无法使用.但是再次双击该文件能够打开,或者通过文件 --> 打开的方式才能打开. 虽说能够打开文件,但是对于咱们这种追求完美的人来 ...

  5. Visual Basic 2012 借助DataGridView控件将SQL server2012 数据导入到Excel 2010

    摘  要: SQL Server 2012 数据和Excel 2010之间的连接和数据的传输,本篇文章主要针对的是SQL Server 2012 数据导入到Excel 2010文件中.Excel软件对 ...

  6. 下载、安装 SQL server 2012,一步一步教你安装、激活sql server2012数据库 ,附有数据库安装包

    一. 准备阶段:下载2012 SQl server数据库安装包. 链接如下: 文件名:sql2012.zip 百度云链接:https://pan.baidu.com/s/1-fw1dCVbfU1bKM ...

  7. SQL Server2012安装流程

    今天手比较抽风,把原来的SQL Server给卸载了,卸载还卸了半天,真是…… 安装时找了好多教程,结果都不是很详细,然后准备自己摸索一下,把这个过程记录下来,供大家参考,如果有不当的地方,欢迎指正, ...

  8. Windows8.1 安装SQL Server2012——部分组件安装不成功!(提示安装.NET 3.5时出错,无Internet情况下利用win8.1安装镜像安装.NET 3.5)

    虽然从事着与开发毫无关系的工作,但却也断断续续维持了近6年的WEB开发,有时因为其它工作原因,可能每做一个项目的时间间隔比较大,有时甚至在做的一个项目因为其他事情而停滞几个月之久(有些项目是自己兴趣或 ...

  9. 【转】使用SQL Server 2012的FileTable轻松管理文件

    一 .FileStream和FileTable介绍 我们经常需要把结构化数据(int.Char等)和非结构化数据(如Varbinary(max))一起存储,那我们在怎么存储的呢? 1. 在SQL Se ...

随机推荐

  1. JQUERY获取html标签自定义属性值或data值

    //获取属性值 1 <div id="text" value="黑哒哒的盟友"><div> jQuery取值: $("#tex ...

  2. angularjs $http提交数据探索

    前两天在搞自己的项目,前端js框架用的是angularjs框架:网站整的差不多的时候出事了:那就是当我用$http.post()方法向服务器提交一些数据的时候:后台总是接收不到数据: 于是采用了其他方 ...

  3. 在javascript中使用replace

    javascript中使用replace功能很强大,不仅可以替换为字符串,还可以利用正则表达式,对匹配到的字符串为所欲为的进行操作,首先我们来了解一下replace的基本语法 定义和用法 replac ...

  4. jQuery-选择器(2)

    jQuery选择器(2) 继续学习jquery选择器,感受它对于操作DOM节点的方便. [属性筛选选择器]属性选择器可以让你基于属性来定位一个元素.可以只指定该元素的某属性,这样所有使用该属性而不管它 ...

  5. node.js+express+jade系列四:jade嵌套的使用

    jade是express自带的模板引擎 jade文件可以嵌套使用,include引用外部jade文件,extends引用jade模板 例如 有一个主jade文件layout.jade,引用top.ja ...

  6. javaScript-进阶篇(二)

    JavaScript的内置对象 JavaScript 中的所有事物都是对象,如:字符串.数值.数组.函数等,每个对象带有属性和方法 对象的属性:反映该对象某些特定的性质的,如:字符串的长度.图像的长宽 ...

  7. BEC listen and translation exercise 40

    However, recently there's been more and more interest in the development of ostrich farming in other ...

  8. QToolBox

    QToolBox类似与以前qq好友分组的那种控件.每个分组是一个Item. 一.添加分组: 其中每个分组是通过一下函数添加的: int addItem(QWidget * w, const QIcon ...

  9. iOS中使用NSInvocation

    在iOS中可以使用NSInvocation进行动态调用方法. /* NSInvocation is much slower than objc_msgSend()... Do not use it i ...

  10. C#中如何设置日期格式

    在C#中,ToShortDateString()是用于显示短日期格式的方法,如果使用下面的语句: Label1.Text = DateTime.Now.ToShortDateString(); 那么, ...