Sql Server Profiler保存与重演跟踪

重演跟踪的作用

可以将一个跟踪当做测试工具,当按照正确的顺序调用某些存储过程是肯能会重新生成特定的故障。

跟踪模板

保存跟踪有四个选项(文件->另存为)

1. 跟踪文件选项用来将数据保存成二进制格式的文件中,保存数据最快速,同时也是占用磁盘字节最少的方法。

2. 跟踪表选项用来将数据保存至用户选择的数据库中一个新的或预先创建好的表。适用于适用T-SQL 操作或报告数据。

3. 跟踪XML文件选项将数据保存到一个XML格式的文件中。

4. 重演跟踪XML文件选项将数据保存至一个XML文本文件,但是只有重演功能需要的那些事件或列才会被保存。

如何创建重演跟踪:

1. 在SSMS窗口通过工具选中SQL Server Profiler,在Profiler中新建跟踪,并且在使用模板选项中选中TSQL-Replay:

2. 执行运行开始跟踪,然后在SSMS新建三个查询窗口分别按顺序执行语句select 1; select 2; select 3:

3. 回到Profiler的跟踪窗口可以看到执行结果,通过EventSequence可以看到语句的执行顺序。

4. 停止跟踪,然后保存跟踪(文件->另存为->跟踪文件),关闭当前跟踪窗口,然后重新打开保存的跟踪文件。可以发现重播菜单下的选项变为可选的

5. 在重播菜单中选择启动,在重播选项中有两种方式,一种是按顺序重播,另外一种是多线程重播。

6. 选择按事件顺序重播,可以发现事件是按照同样的顺序执行的,比较有利复制跟踪期间出现的特殊情况,例如当调试由于多个线程同时访问同一数据时的特定交互而导致的一个死锁或组赛时,这就很有用。

7. 选择多线程重播,可以发现事件不是按照原来的顺序执行的,因为是多个线程同时执行的,比较有利于重演大量的相互独立的spid之间的跟踪数据。

8. 重播时设置断点,比较适合跟踪大量数据的一小部分数据。

时间: 2024-10-12 14:05:45

Sql Server Profiler保存与重演跟踪的相关文章

运行sql server profiler所需的权限

/********运行Sql Server Profiler所需的权限(performance)*********/ --EG.-- 使用TRACE帐户(Performancetest)跟踪Sql Server事件.-- 创建TRACE登陆帐户(Performancetest),并授予其 ALTER TRACE和VIEW SERVER STATE的权限. USE Master CREATE LOGIN Performancetest WITH PASSWORD='[email protected

通过SQL Server Profiler来监视分析死锁

在两个或多个SQL Server进程中,每一个进程锁定了其他进程试图锁定的资源,就会出现死锁,例如,进程process1对table1持有1个排它锁(X),同时process1对table2请求1个排它锁(X),进程process2对table2持有1个排它锁(X),同时process2对table1请求1个排它锁(X) 类似这种情况,就会出现死锁,除非当某个外部进程断开死锁,否则死锁中的两个事务都将无限期等待下去. Microsoft SQL Server 数据库引擎死锁监视器定期检查陷入死锁

使用SQL SERVER PROFILER 捕获和分析思索

前言: 在两个或多个SQL Server进程中,每一个进程锁定了其他进程试图锁定的资源,就会出现死锁,例如,进程process1对table1持有1个排它锁(X),同时process1对table2请求1个排它锁(X), 进程process2对table2持有1个排它锁(X),同时process2对table1请求1个排它锁(X) 类似这种情况,就会出现死锁,除非当某个外部进程断开死锁,否则死锁中的两个事务都将无限期等待下去. Microsoft SQL Server 数据库引擎死锁监视器定期检

SQL Server 2012笔记分享-33:SQL Server profiler跟踪

需求 使用SQL server profiler跟踪当前实例的所有常见活动,并将结果保存到文件中. ================================================================ 开始程序中选择SQL server profiler,如图. 选择文件--新建跟踪,如图. 连接到当前的SQL server实例,如图. 在跟踪属性里面配置跟踪名称.保存到的文件地址.保存到SQL报表.启用跟踪停止时间等,如图. 下图是一个跟踪启动后实时的跟踪情况,如图

Sql Server Profiler跟踪死锁

Sql Server Profiler一个很重要的应用场景就是监视分析死锁. 下面通过一个例子来学习Profiler是如何监视死锁的. 1. 创建测试数据模拟死锁, 创建表Table_A和Table_B并插入测试数据. CREATE TABLE Table_A ( id int, num int ) CREATE TABLE Table_B ( id int, num int ) INSERT INTO Table_A VALUES(1,20) INSERT INTO Table_A VALUE

统计分析SQL Server Profiler 跟踪的SQL

--跟踪文件读入到表中分析 SELECT * INTO ZGSJY FROM fn_trace_gettable('E:\wxxcdbprofiler.trc', default); --某时间内,最耗时SQL select TOP 100 SUBSTRING(Textdata,1,660) as '名称', count(*) as '数量', sum(duration/1000) as '总运行时间ms', avg(duration/1000) as '平均运行时间ms', avg(cpu)

SQL Server Profiler查询跟踪的简单使用

1.打开SQL Server Management Studio,选择工具->SQL Server Profiler,或者直接从路径:开始/程序/Microsoft SQL Server 2008 R2 /性能工具/SQL Server Profiler. 2.连接数据库后,直接打开跟踪新增界面,或者在路径:文件->新建跟踪下新增跟踪,连接数据库 3.点击事件选择页,选择事件,将需要显示的列打上勾,这样才会在跟踪的时候,显示出这些列: 4.只看当前用户需要查看的数据库,这就用到列筛选器功能,点

怎样在sql server profiler跟踪时只显示自己关心的内容

当我们想知道.net程序到底执行了哪些SQL的时候,通常会使用sql server profiler,但是如果不加设置,我们程序执行的sql通常会被系统的SQL淹没,通过以下的方法,可以只显示我们需要的SQL. 跟踪属性-->事件选择-->列筛选器-->ApplicationName-->类似于-->输入.Net SqlClient Data Provider 此时跟踪的就是来自.Net开发的系统执行的sql语句. 如果不确定ApplicationName是什么,就先不过滤,

解决 SQL Server Profiler 跟踪[不断]出现检索数据

问题简单回顾: 当我们使用SQL Server Profiler根据数据时,有时刚打开什么也没干呢,就显示很多数据了,当我们用橡皮擦清除,没过两秒就又有了,如图: 是不是很恼火!~不怕,解决方案如下: 关掉Report服务就行了,打开Reporting Services停掉服务,总算清静了.