问题标签 [extended-events]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
71 浏览

sql-server - 捕获并响应 SQL Server 中的会话关闭事件?

我需要一种方法来知道 SQL Server 中的会话何时关闭,以便我可以通过运行我拥有的存储过程来清理为该会话分配的任何资源。

当一切运行良好时,客户端应用程序将调用一个Cleanup例程来执行此操作。但是,如果用户意外断开连接,我需要服务器上的一些东西知道......并调用清理。

考虑到像 VB 或 Delphi 这样的语言,我会为此注册一个事件处理程序。

我看到 SQL Server 有“扩展事件”,但我还没有弄清楚如何在存储过程或触发器中对这些事件做出反应......

还是有其他方法可以捕获SessionClose然后调用存储过程?

0 投票
1 回答
73 浏览

sql-server - 我使用扩展事件完成的存储过程

我使用了一个名为“Procs completed by me”的 SQL Server Profiler 跟踪模板,其中包括此文本过滤器:%@UserID=123%。

在此处输入图像描述

我们网站运行的几乎所有存储过程都包含@UserID 参数,所以我可以点击查看对数据库的影响。它忽略了其他网站用户运行的所有存储过程。非常有用!

如何在扩展事件中创建相同的东西?

答案(来自下面的大卫)是

0 投票
0 回答
67 浏览

sql - XE 事件会话查询失败

我正在尝试修改创建 XE 事件会话的存储过程的一部分。

存储过程工作正常,但我面临的问题是,当我使用 Red-Gate SQL 格式格式化 T-SQL 或 Azure DevOps 构建代理来创建 DACPAC 时,它会抛出错误Incorrect syntax near NOT.

引发错误的行:

任何问题让我知道

0 投票
0 回答
36 浏览

sql-server - 扩展事件设置以捕获每个线程和使用 CPU、持续时间、执行计划的参数化存储过程调用

感谢您阅读这篇文章并花费您的时间,我提前感谢任何答案。

我们的目标是创建一个扩展事件并从 T-SQL 代码中读取,以捕获存储过程或函数,其中参数与 CPU、持续时间、读取、写入等数字以及执行计划一起传递。

创建了一个具有以下定义的扩展事件,问题是在存储过程对象的情况下我找不到 CPU、读取、写入module_end事件。然后我想从SP_Statement_Completed特定存储过程的事件中聚合数字,我迷失了编写一个可以链接SP_Statement_Completed特定存储过程执行会话的所有事件并将它们求和的查询。

请您帮忙查询和正确定义扩展事件。

0 投票
0 回答
85 浏览

sql-server - Microsoft.SqlServer.XEvent.XELite.XELiveEventStreamer 是否与 SSAS ring_buffer 或 event_stream 一起使用?

我正在尝试使用以下代码从 SSAS 服务器上的流中提取扩展事件:

但是什么都没有出来。

它适用于 SQL 服务器上的 ring_buffers,或者如果我将 SSAS 服务器事件保存到 .xel 文件。

一个相关的问题... Microsoft.SqlServer.XEvent.XELite 包的文档是否在任何地方都可用?

0 投票
0 回答
40 浏览

sql-server - 扩展事件检测语句何时导致更新

包含事件的字段之一sp_statement_completedsql_batch_completedwrites 字段。我想用它来过滤事件会话,其中语句导致某些数据通过更新/插入或删除发生更改。这似乎适用于小型测试 Db,但不适用于较大的 Db。我能错过什么。如果正在更新单个记录,写入不会 > 0 吗?

有效的样本,但这个 Db 非常小。在较大的 Db 上使用时,更新记录时,不会捕获任何事件。

活动会话

0 投票
1 回答
36 浏览

sql-server - 扩展事件 - 不显示日志文件增长

我们有一个标准的扩展事件会话来收集在我们的 SQL 服务器上运行的数据库和日志文件的增长。我在一个大表上创建一个索引,知道它可能会填满事务日志。确实如此,但是调查日志驱动器空间不足的原因的 DBA 无法将索引构建视为罪魁祸首。它显示了除索引构建之外的所有其他事务。有谁知道这背后的原因?我一意识到有问题就终止了索引构建,它释放了所有空间。我想知道这背后的原因。

此服务器正在运行 SQL 2016 CU 15 - 企业版。

这是我正在运行的查询:

以下是我们用于捕获日志文件增长的事件:

0 投票
0 回答
101 浏览

sql-server - 为什么扩展事件在使用应用程序时不跟踪 SQL 文本,但 sql profiler 可以

为了跟踪我在应用程序上的操作,我正在使用 sql profiler。

工作正常,我正在连接到服务器,过滤主机名,并且改变我在应用程序上单击的内容将反映为分析器中的 sql 代码。

但是当我尝试使用扩展事件来实现相同的目标时,由于某种原因它不起作用。在我开始会话后,我会去“观看实时数据”,但是,无论我在应用程序上做什么,它都不会反映在 SSMS 查询窗口中。

如果我在 SSMS 中运行某些东西,它会反映出来。但在使用应用程序时不会。

你知道我在这里想念什么吗?

更新:

添加了跟踪定义:

在此处输入图像描述

更新 2

如果我同时将它与 sql profiler(附加片段)进行比较 - 在​​ Xevents 中我只会看到SQL:Batch Starting与我无关的事务。

那意味着什么?

在此处输入图像描述

0 投票
0 回答
137 浏览

sql-server - 使用 SQL 扩展事件捕获的数百个登录事件

使用 SQL 扩展事件捕获的数百个登录事件

我有一个扩展的事件会话来捕获我们服务器中的登录事件。此会话每秒在一个特定数据库中捕获数百次登录。我创建了另一个事件会话以仅捕获该数据库中的 SQL 语句,但结果仅显示执行的“正常”数量的 SQL 语句,而不等同于捕获的数百个登录事件。

这是捕获登录的脚本:

这是脚本sql_statement_completed

这是捕获的登录事件的示例:

捕获的登录事件

我想客户端应用程序没有问题(例如循环或类似的东西)。

我会很感激帮助知道会发生什么

0 投票
0 回答
13 浏览

sql-server - 从多个目录恢复扩展事件文件

这里有一个问题:

我每天都恢复扩展事件。文件夹结构如下所示:

我想恢复每个日期的扩展事件。例如:开始日期 = 20210101 结束日期 = 20210105

所以我想为每个日期在这两个日期之间恢复文件(创建表并将数据加载到其中)。好像:

我想知道如何从多个文件夹中读取数据?使用这个:

我只能为一个文件夹设置路径。我们有什么方法可以在目标中使用多个路径吗?