SQL Server Profiler可以检测在数据上执行的语句,特别是有的项目不直接使用sql语句,直接使用ORM框架的系统处理数据库的项目,在调试sql语句时,给了很大的帮助。
之前写了使用SQL Server Profiler追踪死锁的文章《SQL Server Profiler追踪数据库死锁》,这里再简单写SQL Server Profiler使用过程中常用到的功能。
这里使用SQL Server 2008 R2版本
1. 在安装SQL Server 数据库时,请保证安装了SQL Server Profiler,默认情况全部安装都会自动安装上。
2. 打开SQL Server Management Studio,在菜单中,找到“工具”菜单,找到SQL Server Profiler菜单项,如下图所示。
3. 选择“事件选择”,勾选常用的几项即可,如下图所示。
4. 选择“显示所有列”,之后在列表中,勾选“DatabaseName”项。
5. 设置筛选器,这里设置只是过滤数据库名称,因为一个数据库实例中如果有多个数据库,那么不筛选数据库名称,那么所有数据库上的执行语句都能监控得到。
还可以设置Duration,筛选不同执行时间的sql语句,例如可以过滤执行时间较长的sql语句,选择可以优化sql语句。
如果同一个数据库,多个人访问,只想检测自己操作的语句怎么办?可以给数据库创建一个自己登陆的数据库账户(检测完后可以删除此用户),之后,在LoginName筛选器中,筛选自己登陆的数据库账户即可。
设置之后点击【运行】则开始监控了,监控画面如下。
对于监控的内容,可以保存,在监控界面的【文件】菜单中,选择另存为,选择想保存的格式即可,下次如果想看数据,可以直接打开保存的文件。