SQL Server 默认跟踪 -- 介绍

SQL Server 默认跟踪 -- 介绍

什么是默认跟踪?

默认的SQL Server预定义跟踪,是SQL Server中默认开启的最轻量级跟踪,由5个跟踪文件(.trc)组成,每个文件的最大值为20MB,存储在SQL Server log目录。

这些文件用作临时存储捕获事件的缓存。存储在缓存中的事件一段事件后会被删除。当SQL Server重启后,或者当当前使用的文件达到最大值时,最旧的文件被删除,在忙碌的生产环境,这样的循环缓存会在几分钟内被循环覆盖。

注意:

后续版本的 Microsoft SQL Server 将删除该功能。请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。 请改用扩展事件。

默认跟踪的作用是什么?

如何知道谁删除了表?如何跟踪到自动增长事件?如何知道内存使用什么时候变化?安全设置是否改变?

默认跟踪可确保数据库管理员在问题首次出现时即具有诊断该问题所需的日志数据,从而为数据库管理员提供了故障排除帮助。

如何知道默认跟踪是否在运行?

SELECT * FROM sys.configurations WHERE configuration_id = 1568

怎么开启默认跟踪?

使用 default trace enabled 服务器配置选项可启用或禁用默认跟踪日志文件。 默认跟踪功能提供了丰富持久的活动日志,并主要根据配置选项进行更改。

sp_configure ‘show advanced options‘, 1;
GO
RECONFIGURE;
GO
sp_configure ‘default trace enabled‘, 1;
GO
RECONFIGURE;
GO

如果将 default trace enabled 选项设置为 1,可启用“默认跟踪”。 此选项的默认设置为 1 (ON)。 值为 0 时将关闭跟踪。

default trace enabled 选项是一个高级选项。 如果使用 sp_configure 系统存储过程来更改该设置,则仅当 show advanced options 设置为 1 时才能更改 default trace enabled 选项。 该设置将立即生效,无需重新启动服务器。

可以通过

EXEC sp_configure ‘default trace enabled‘,0;
RECONFIGURE WITH OVERRIDE;

来关闭默认跟踪。

如何查看默认跟踪文件?

SELECT * FROM ::fn_trace_getinfo(default)

解释一下跟踪属性:


Column name


Data type


Description


traceId


int


ID of the trace.


property


int


Property of the trace:

1= Trace options. For more information, see @options in sp_trace_create (Transact-SQL).

2 = File name

3 = Max size

4 = Stop time

5 = Current trace status


value


sql_variant


Information about the property of the trace specified.

在 SQL Server 的典型安装中,默认跟踪启用并因而成为 TraceID 1。 如果在安装和创建其他跟踪后启用,该 TraceID 可以变成更大的数字。

SELECT * FROM sys.traces;

默认跟踪文件记录了什么?

默认跟踪日志可以通过 SQL Server Profiler 打开和检查,或者通过 Transact-SQL 使用 fn_trace_gettable 系统函数来查询。

SQL Server Profiler 可以像打开正常跟踪输出文件一样打开默认跟踪日志文件。 默认情况下,默认跟踪日志以滚动更新跟踪文件的形式存储在 \MSSQL\LOG 目录中。 默认跟踪日志文件的基本文件名是 log.trc。

当我们用Profiler打开默认跟踪文件,从属性中可以看到有7类捕获的事件:

? Database

? Errors and Warnings

? Full-Text

? Objects

? Performance

? Security Audit

? Server

并且,每一个子类事件的所有可选列为选择状态。

以下语句将打开默认位置中的默认跟踪日志:

SELECT *
FROM fn_trace_gettable
(‘D:\SQL-DATA\MSSQL10_50.MSSQLSERVER\MSSQL\Log\log_1019.trc‘, default);
GO
时间: 2024-10-13 08:10:34

SQL Server 默认跟踪 -- 介绍的相关文章

SQL Server 黑盒跟踪 -- 介绍

SQL Server 黑盒跟踪 -- 介绍 问题描述: 你是否碰到过这些问题:一个查询导致SQL Server崩溃,或者因为CPU飙到100%而导致服务器不可用? 解决方案: SQL Server提供了另一个开箱即用的后台跟踪就是黑盒跟踪(Blackbox Traces).这个跟踪被设计为同飞机上的黑匣子功能类似,SQL Server黑匣子就是拥有大量运行数据的记录.黑匣子记录了发送到SQL Server的所有查询以及类似错误信息的有用记录,可以帮助诊断间歇性服务器崩溃,或者知道在CPU飙高之前

SQL Server 默认跟踪 -- 捕获事件详解

SQL Server 默认跟踪 -- 捕获事件详解 哪些具体事件默认跟踪文件能够捕获到? --returns full list of events SELECT * FROM sys.trace_events --returns a full list of categories SELECT * FROM sys.trace_categories --returns a full list of subclass values SELECT * FROM sys.trace_subclass

SQL Server 默认跟踪应用3 -- 检测对表的DDL操作

SQL Server 默认跟踪应用3 -- 检测对表的DDL操作 在SQL Server数据库上发生的DDL操作,能知道是谁做的么? 是的.SQL Server默认跟踪有对象修改事件. 这个脚本列出所有的对象修改事件.查询条件中加上时间和数据库名的限制. select e.name as eventclass, t.loginname, t.spid, t.starttime, t.textdata, t.objectid, t.objectname, t.databasename, t.hos

SQL Server 默认跟踪应用4 -- 检测日志文件自动增长

SQL Server 默认跟踪应用4 -- 检测日志文件自动增长 用户抱怨SQL Server数据库运行非常慢.通过默认跟踪的这个查询,可以识别出log file autogrow活动导致的长时间运行.为什么如此之慢? SELECT te.name AS [trace_events_name] , t.DatabaseName , t.NTDomainName , t.ApplicationName , t.LoginName , t.Duration , t.StartTime , t.End

SQL Server 默认跟踪(Trace)捕获事件详解

SQL Server 默认跟踪 -- 捕获事件详解 哪些具体事件默认跟踪文件能够捕获到? --returns full list of events SELECT * FROM sys.trace_events --returns a full list of categories SELECT * FROM sys.trace_categories --returns a full list of subclass values SELECT * FROM sys.trace_subclass

SQL Server 黑盒跟踪 -- 如何启用黑盒跟踪?

SQL Server 黑盒跟踪 -- 如何启用黑盒跟踪? 这个跟踪是通过将sp_trace_create的@options参数值设置为8来配置的.@options指定为跟踪设置的选项,当设置值为8,即TRACE_PRODUCE_BLACKBOX,指定服务器产生的最后5MB跟踪信息记录将由服务器保存.TRACE_PRODUCE_BLACKBOX与所有其他选项不兼容.@tracefile指定跟踪将写入的位置和文件名,在使用TRACE_PRODUCE_BLACKBOX选项时无法指定trace_file

SQL Server 黑盒跟踪 -- 进一步了解sqldiag

SQL Server 黑盒跟踪 -- 进一步了解sqldiag SQL Server提供了一个特别的命令工具sqldiag,帮助收集用于定位SQL Server问题的信息.你可以在其它SQL Server可执行命令所在目录相同的binn目录下找到该文件.默认目录是\Program Files\Microsoft SQL Server\MSSQL\Binn.当SQL Server正在运行时,你从命令提示符执行sqldiag,这个工具收集了大量的操作系统,硬件配置,SQL Server配置等信息.S

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

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

统计分析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)