标签: trace

是否有任何第三方工具可以读取和/或分析 SQL Profiler 跟踪 (.trc) 文件

我有一个来自 DBA 对我的一个数据库所做的跟踪的 .trc 文件。我的 PC 上没有安装 SQL 分析器工具,因此无法查看内容和分析跟踪日志。如何在我的 PC 上未安装 SQL 分析器的情况下读取此文件?

sql-server trace

13
推荐指数
2
解决办法
3万
查看次数

SQL Server 跟踪文件中的持续时间单位

我在 SQL Server 2012 中生成了一个跟踪文件,不太确定持续时间的单位,以毫秒为单位?

在此处输入图片说明

performance sql-server sql-server-2012 trace

12
推荐指数
2
解决办法
2万
查看次数

默认跟踪已启用但未激活

当我查询默认跟踪的配置时,它显示已启用:

exec sp_configure 'default trace enabled';
-->
name                    minimum  maximum  config_value  run_value
default trace enabled         0        1             1          1
Run Code Online (Sandbox Code Playgroud)

但是当我查询sys.traces路径时,它返回一个空行集:

select * from sys.traces;
Run Code Online (Sandbox Code Playgroud)

什么可以解释没有启用的跟踪?

sql-server sql-server-2008-r2 trace

9
推荐指数
1
解决办法
4298
查看次数

跟踪标志以及哪些需要关闭以及为什么

在 SQL Server 中,有很多跟踪标志。为什么其中一些需要关闭。在某些地方我看到需要关闭跟踪标志 8017。所以我想知道需要关闭哪个跟踪标志,为什么?

performance sql-server maintenance sql-server-2008-r2 trace

9
推荐指数
2
解决办法
4799
查看次数

基于客户端 TCP 端口的 SQL Server 跟踪

我有一个 Windows 终端服务器,其中有许多不同的用户通过 RDP 登录以运行应用程序。该应用程序为每个用户建立一个或多个到 SQL Server 2008 R2 实例的连接。所有用户使用相同的 SQL 登录访问相同的数据库。我希望能够跟踪特定用户的 SQL 会话,但我还没有找到确定哪个 SQL 会话属于哪个用户的方法。但是,我能够确定应用程序的每个实例正在使用的源 TCP 端口。

有没有办法根据客户端的 TCP 端口跟踪 SQL 会话?

security sql-server sql-server-2008-r2 trace

9
推荐指数
1
解决办法
923
查看次数

如何找到执行事件的存储过程?

我有一个问题,某个存储过程偶尔会消失,我需要找出哪个脚本删除了它。我发现这段代码给出了与删除这个存储过程相关的事件。

DECLARE @path NVARCHAR(260);

SELECT 
@path = REVERSE(SUBSTRING(REVERSE([path]), 
CHARINDEX(CHAR(92), REVERSE([path])), 260)) + N'log.trc'
FROM    sys.traces
WHERE   is_default = 1;

SELECT 
  LoginName,
  HostName,
  StartTime,
  ObjectName,
  TextData
FROM sys.fn_trace_gettable(@path, DEFAULT)
WHERE EventClass = 47    -- Object:Deleted
AND EventSubClass = 1
AND ObjectName like N'%usp_GetPendingConfiguration%'
ORDER BY StartTime DESC;
Run Code Online (Sandbox Code Playgroud)

有没有办法可以找到哪个存储过程或事件删除了这个存储过程?请指教。

sql-server-2008 stored-procedures profiler extended-events trace

6
推荐指数
1
解决办法
1798
查看次数

没有参数的神秘过程调用 - 但没有生成异常

我一直在使用 EventClass RPC:Completed 跟踪一些存储过程,这些过程是从 .Net SqlClient 数据提供程序间歇性调用的,没有必需的参数 - 只是“exec SprocName”。

如果我在它们出现在跟踪的 TextData 中时手动调用它们,它们会生成一个异常 - 但在原始跟踪中不会生成任何异常。这些“无参数”调用的“错误”列确实显示“1 - 错误”,但我不明白该调用如何不生成异常。

起初我怀疑这是分析器的故障,“1 - 错误”导致参数从 TextData 被截断,但我在扩展事件会话中看到了相同的结果。

有没有人在他们的分析器跟踪或事件会话中看到过这样的东西?该应用程序几乎可以肯定将这些调用作为某些边缘情况错误的一部分,但为什么 sql server 没有抛出异常?

sql-server stored-procedures profiler parameter trace

6
推荐指数
1
解决办法
492
查看次数

SQL Server - 停止服务器端跟踪

我想设置服务器端重播跟踪并编写设置跟踪的脚本。但是,我希望跟踪在 12 小时后或创建 10 个 1GB 文件后结束。通常对于最大文件数,系统会删除最旧的文件,然后创建新文件。在我的情况下,这将以文件 2-11 而不是所需的 1-10 结束。我有空间限制,需要从头到尾重播所有步骤。我可以将文件大小限制设置为 10GB。我认为文件大小有 1GB 的限制,但这可能只是 GUI 中的一个限制。

关于如何在脚本达到 10 个文件后停止脚本的任何想法?

declare @rc int
declare @TraceID int
declare @maxfilesize bigint
declare @DateTime datetime
declare @maxfilecount int

set @DateTime = DATEADD(HOUR,12,GETDATE())
set @maxfilesize = 1024
set @maxfilecount = 10

exec @rc = sp_trace_create @TraceID output, 2, N'D:\Output\Trace', @maxfilesize, @Datetime, @maxfilecount 
Run Code Online (Sandbox Code Playgroud)

sql-server-2008 sql-server t-sql trace

5
推荐指数
1
解决办法
312
查看次数

如何避免跟踪的文本数据被截断?

我有一个跟踪文件,包括由服务器端跟踪创建的 TEXTDATA 列。一些跟踪查询非常长。

如果我在 Profiler 上重新打开跟踪文件,则会完整显示相关的长查询 - 它有 340 行文本和 10951 个字符。

但是在我将跟踪文件导入 SQL-Server 表后,相关查询似乎被截断了。该表有一个由fn_trace_gettable方法创建的 ntext 列。

我使用不同的方法查询表:SSMS 中的文本输出(配置了最大数量的字符)在第 52 行中断输出。 SSMS (*.rpt) 的文件输出也被截断,这里查询在第 250 行被截断.

所以现在我想知道是否有可能将整个查询从跟踪文件中提取到 SQL-Server 表中,以及如何获取?

sql-server ssms sql-server-2008-r2 trace

5
推荐指数
1
解决办法
2158
查看次数

查找“.net sqlclient 数据提供程序”背后的应用程序

我试图找到哪个应用程序在 SQL Server 上打开了各种连接,所有连接都命名为“.net sqlclient 数据提供程序”。

从系统监视器我得到了机器名称;
在带有 的客户端上netstat -a -b -o | Find "SQLServer",我找到了 4 个连接,所有连接都是“PID 4 (ntoskrnl) ...是”,这是 Windows,它是一个 MS SQL 服务器。

“SQL server profiler 中的跟踪进程”,使 Management Studio 崩溃。

那么,在我开始一一查杀应用程序之前,您是否知道如何追溯这种联系?

此致;
埃泽克

sql-server trace connections

5
推荐指数
1
解决办法
1万
查看次数