SQL Server2012如何打開2016的profiler文件

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

做者:markjiang7m2
原文地址:http://www.javashuo.com/article/p-dzvxulzc-my.htmlhtml

背景

在上星期,公司負責support的同事接到反饋說某個項目生產環境上的某個頁面加載很慢,通常遇到這種問題,咱們的support同事都會先上數據庫抓一下profiler,而後再讓咱們開發的找緣由。可是,當我嘗試打開這個profiler文件的時候,卻彈出了錯誤提示:sql

找不到跟蹤定義文件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目錄,或者將事件探查器鏈接到該服務器以自動生成文件。而後從新打開該跟蹤文件。shell

而後點擊確認,又彈出第二個提示框數據庫

沒法打開文件。文件可能已損壞,也多是數據格式不正確。服務器

sqlserver_01_profilerfail01

sqlserver_02_profilerfail02

好吧,我認可個人第一反應是這個文件損壞了,而不是以爲是sql server版本的問題。sqlserver

而後我作了一個測試,在本地遠程鏈接到測試服務器進行抓取profiler,並保存文件,一切都正常。可是當我從新打開這個文件的時候,我又獲得了以前的錯誤提示,我才考慮多是由於版本的問題。測試

解決方案

support的同事跟我說,這個文件是要在SQL Server 2016上面才能打開的,由於生成環境用的是2016。固然,他沒有說錯,是能夠這麼操做的,只是這樣,好像比較麻煩,並且感受這操做還有點笨。。
好吧,其實SQL Server在第一個提示中已經給瞭解決方案了,只是被我習慣性地忽略了。code

我本地安裝的實例是SQL Server 2012,而後服務器上面數據庫實例是SQL Server 2016,因此我本地就缺乏了2016的跟蹤定義文件,只要把這個文件複製到我本地,就能夠正常打開2016的profiler文件了。server

  • 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。xml

延伸

其實還能夠注意到,若是咱們直接在SQL Server 2012中鏈接2016抓取profiler時,沒有任何的模板能夠選擇,這就須要咱們每次都從新設置跟蹤的選項,非常麻煩。

sqlserver_03_emptytemplate

這個問題跟上面的問題有點相似,是由於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的模板了。

sqlserver_04_fulltemplate

再延伸一下。常用profiler的朋友應該都會遇到這樣的狀況,SQL Server提供的模板跟本身想要的不太同樣,這個時候,咱們就能夠新建屬於本身的模板了。

  • 在 「文件」 菜單上,單擊 「模板」,再單擊 「新建模板
  • 選擇服務器類型,不一樣版本服務器之間的模板是不通用的
  • 還能夠基於現有的模板進行改造

sqlserver_05_newtemplate

創建好的profiler模板還能夠導出成.trc文件,再導入到其它機器上面使用

sqlserver_06_exporttemplate

sqlserver_07_importtemplate

參考文獻
本文在編寫過程當中引用或參考瞭如下文章中的部份內容,若有侵權,請聯繫修改或刪除。
http://www.javashuo.com/article/p-whgrzdok-bv.html

總結

今天分享給你們的文章不是什麼乾貨,只是記錄一下在我工做中遇到的問題和解決方案,但願對各位有用。也算是一點小技巧吧,對於常用profiler的朋友來講確實是能省下很多功夫的。今天就先跟你們介紹到這裏,但願你們能持續關注咱們。

相關文章
相關標籤/搜索