如何在SQL Server Profiler 中 跟踪查看死锁恢复

嘿,小伙伴们!想不想知道如何深入了解应用程序和数据库之间的互动?用SQLProfiler这个神器就能做到!通常,当你觉得系统跑得慢或者应用访问数据库的结果不太对劲时,这个工具就能帮你找到问题所在。
而且,新版的SQLProfiler不仅继续监控数据库的工作情况,还能捕捉到AnalysisServices实例运行时的小秘密呢。
有了新的跟踪选项,你可以轻松选择要记录的事件、数据元素,还能设置过滤条件。
不仅如此,你还能把跟踪结果保存成XML格式,用图形化界面来分析那些讨厌的死锁事件。
接下来,我就来教你们如何在Profiler里用图形展示死锁事件。
首先,打开SQLServerProfiler,点击“新建跟踪”,然后在“连接到服务器”里设置服务器信息,连接上。
进入“跟踪属性”,找到“事件选择范围”,勾选所有事件,再展开“Locks”事件,勾选“Deadlockgraph”。
一切设置完毕后,点击“执行”开始录制。
跟踪设置好之后,SQLProfiler就会开始监控数据库引擎的动态啦。
为了演示,我还会用ManagementStudio来制造一个死锁事件,这样我们就能更直观地看到整个过程。
在ManagementStudio里创建两个连接,执行特定的T-SQL语句,就能模拟出死锁环境啦。

如何防止SQL Server事件探查器跟踪?

说到SQL Server的调试和监控,其实挺有意思的。
咱们得会调试Transact-SQL语句和存储过程,还得能找出那些跑得慢的查询。
开发的时候,咱们得一步步执行SQL语句和存储过程,确保代码没问题。

在生产环境下,有时候得捕捉一些事件,然后在测试系统中重播,这样有助于解决问题,而且不影响用户正常使用生产系统。
另外,还得审核和复查SQL Server实例中的活动,这对安全管理员来说很重要,能查到登录尝试、权限访问等等各种信息。

不过,要注意的是,用SQL事件探查器的时候,系统得有至少1 0MB的可用空间,否则它就啥功能都没了。
这个探查器确实挺强大的,SQL Server里的每个动作都能在它里面看到,对性能调节和后期维护都很有帮助。

但是,问题来了。
软件开发完了,咱们作为开发方,肯定不希望用户用SQL事件探查器来跟踪咱们的SQL语句。
那咋办呢?有没有办法让SQL语句不被跟踪到?
举个例子,假设有个表叫Organization,里面有个字段叫password。
当你执行SELECT [Password] FROM [Organization]这个SQL语句时,你会发现,在SQL事件探查器里,password这个词被注释掉了,看不到具体的值。
这是因为SQL语句中出现了关键词password,所以整个查询过程都被隐藏了。

那如果Organization表中没有password字段呢?别急,官方说了,只要查询过程中出现password、encryption、sp_setapprole这些关键词,无论在哪个位置,包括注释里,整个查询都会被隐藏。
比如执行--Password/保护SQL语句/SELECT 1 FROM [Organization1 ],同样的,在SQL事件探查器里也看不到具体的SQL语句。

所以,总结一下,如果咱们想保护SQL语句不被跟踪,只需要在SQL语句中添加一个关键词注释就可以了。
好消息是,我开发的系统所依赖的第三方系统软件并没有对SQL语句做保护,所以我还是可以通过SQL事件探查器分析软件对数据库的操作,进一步了解数据库表的结构。

sql server2008查询管理器和语句跟踪器在那里?

嗨,小伙伴们!想知道如何轻松在新版SQL Server中新建查询吗?来来来,我来给你支个招。
SQL2 008 可是把SQL2 000里的企业管理器和查询分析器合二为一,变成了超级好用的SQL Server Management Studio啦!直接在Management Studio里新建查询就OK啦!还有哦,想追踪事件的话,打开Management Studio,在菜单栏的“工具”里就能找到“事件追踪”的小功能,就是它啦——SQL Server Profiler!简单方便,快来试试吧!😉

sqlserver2000 查看历史sql语句

在 SQL Server 2 000 里,想要回溯看看之前都执行了哪些 SQL 语句,其实挺简单的,就用 SQL Server 事件探查器(SQL Server Profiler)这个工具就行。
它的工作原理就是帮你创建一个跟踪任务,把数据库实例里发生的事件都给记录下来,然后把这些信息保存到文件里,方便你以后随时查看。
具体怎么操作呢?我给你捋一捋,主要是分这几步:启动工具、配置跟踪、开始捕获事件,最后分析结果。

第一步:启动工具并连接到目标实例
1 . 打开企业管理器:这是 SQL Server 2 000 的核心管理工具,你可以通过“开始”菜单,一路找到“程序→Microsoft SQL Server→企业管理器”来启动它,或者直接用快捷方式打开。
打开后,你会在界面顶部的“工具”菜单里看到“事件探查器”这个选项。
2 . 启动事件探查器:点一下“工具”菜单里的“事件探查器”,会弹出一个“连接到服务器”的窗口。
3 . 连接到你想跟踪的 SQL Server 实例:在这个窗口里,输入你想要跟踪的 SQL Server 实例的名字,然后选择是使用 Windows 身份验证还是 SQL Server 身份验证。
如果选的是 SQL Server 身份验证,那还得填上用户名和密码,然后点“连接”按钮,这样就成功连接到目标实例了。

第二步:配置跟踪任务的基础设置
1 . 新建跟踪:进了事件探查器的主界面后,你点一下顶部的“文件”菜单,然后选“新跟踪”,这样就开始初始化跟踪的设置了。
2 . 给跟踪任务起个名字:在弹出来的窗口里,“跟踪名称”这一栏,你可以输入一个自己容易记住的名字,比如叫“历史 SQL 执行跟踪”,这样以后方便识别和管理。
3 . 选个跟踪模板:在“模板名称”这个下拉菜单里,你可以选一个预设的模板,比如“TSQL_Replay”或者“Standard”。
这些模板里面已经设置好了常用的事件类型和过滤条件,用这个能省不少事儿。
4 . 保存跟踪结果到文件:记得勾选“保存到文件”这个选项,然后指定一个本地硬盘的存储路径和文件名,比如“D:\SQL 跟踪\历史 SQL_2 02 4 05 .trc”。
这样设置之后,就算你关闭了事件探查器,之前捕获的数据也不会丢失。

第三步:选择要跟踪的事件类型并进行过滤优化
1 . 配置要跟踪的事件类型:切换到“事件”选项卡,这里你可以勾选那些你想要跟踪的事件。
如果你主要是想看 T-SQL 语句的执行情况,那可以重点关注“SQL:BatchCompleted”和“RPC:Completed”这些事件。
2 . (可选)设置过滤条件:如果你觉得有些数据没必要捕获,可以切换到“数据列”选项卡,设置一些过滤规则。
比如说,你可以按“DatabaseName”来过滤,只跟踪特定数据库里的事件,或者按“LoginName”过滤,只跟踪特定用户执行的操作。
这样一来,就能减少一些冗余的数据,让跟踪更高效。
3 . 确认要显示的数据列:在这一步,你可以勾选那些你想要在结果里看到的数据列,比如“TextData”、“Duration”、“StartTime”等等。
其中,“TextData”这一列是最重要的,因为它会包含具体的 SQL 语句内容。

第四步:开始跟踪并查看历史 SQL 语句
1 . 启动跟踪:一切配置好了之后,点一下窗口底部的“运行”按钮,事件探查器就开始实时捕获你设定的目标实例的相关事件了。
2 . 停止跟踪:当你执行完需要监控的数据库操作之后,点一下顶部的“文件”菜单,然后选“停止跟踪”,这样就能结束捕获过程了。
3 . 回溯历史 SQL:如果你想查看之前保存的跟踪结果,可以点“文件”菜单里的“打开”,然后选“跟踪文件”,找到你之前保存的那个 .trc 格式的文件,打开它。
在结果列表里,你就能看到之前执行过的 SQL 语句了,特别是要重点看看“TextData”这一列的具体内容。