我有一个有人希望我运行的 .tdf SQL Server Profiler 跟踪模板,但该模板的目标是 SS 2008 R2。虽然我的 SSMS 是 2008 R2,但我需要跟踪的服务器是 SS 2005。在尝试跟踪服务器时,服务器类型被锁定(从实际服务器生成)所以我不能只选择我需要的模板,而它被标记为不同的SS版本..
如何更改交易模板所针对的服务器类型?我已经尝试过File > Templates > Edit Templates...
,但似乎没有改变这一点的选项。是否可以更改目标服务器版本,或者是否必须从头开始重新制作整个跟踪?
如果您打开 Profiler,请转到文件 > 模板 > 导入并选择您的 .tdf 文件。
您将拥有一个名为 [filename](不带 .tdf)的新用户跟踪模板。转到文件 > 模板 > 编辑并选择您导入的跟踪模板。然后,您应该能够通过拉下拉菜单来编辑服务器类型:
然后您可以保存模板,当您使用该模板开始新的跟踪时,它应该是服务器类型。
我正在使用 Profiler 2012,与 2008、2008 R2 和 2012 数据库通信。我不得不使用与接受的答案略有不同的工作流程。
当我尝试遵循该工作流程,将模板从 2008 年迁移到 2012 年时,选择模板名称下拉列表将取消填充,然后单击保存或另存为提示我选择要保存的模板。
相反,将您的模板从 2012 profiler, 2008 templates 文件夹(应该是
%APPDATA%\Microsoft\SQL Profiler\11.0\Templates\Microsoft SQL Server\100
)复制到 2012 profiler, 2012 templates 文件夹(应该是%APPDATA%\Microsoft\SQL Profiler\11.0\Templates\Microsoft SQL Server\110
)现在,转到
File > New Trace...
并选择复制的模板以在 2012 服务器上执行跟踪。验证跟踪是否正在运行并捕获您想要的内容。在这一点上,你已经很好了——你可以使用复制的模板开始跟踪。但是,如果您想对其进行修改,当您转到
File > Templates > Edit Template...
并选择事件选择时,您会得到一个提示,指示跟踪格式错误:要将其保存为新格式:使用
File > New Trace...
上面提到的启动跟踪运行,然后运行跟踪并File > Save As > Trace Template...
选择一个新名称。您现在可以删除最初复制的模板,并在其位置使用新保存的模板。实际上只需要更改 tdf 文件中的两个字节。为此,我创建了一个小型 PowerShell 脚本。mssql.profiler.template.sql_ver.chg.ps1 (GitHub)