在对象资源管理器中管理事件会话

适用于: SQL Server Azure SQL 数据库 Azure SQL 托管实例

本主题讨论您可以在 “对象资源管理器” 中执行的将影响扩展事件的操作:

  • 创建扩展事件会话

  • 开始或停止扩展事件会话

  • 导出扩展事件会话

  • 导入扩展事件会话模板

  • 编辑扩展事件会话

  • 删除扩展事件会话

创建扩展事件会话

有关创建扩展事件会话的详细信息,请参阅 Create an Extended Events Session

开始或停止扩展事件会话

您可以通过 “查询编辑器” 使用 ALTER EVENT SESSION 语句,或者通过使用 “对象资源管理器” 中的 “扩展事件”节点,启动或停止扩展事件会话。

在你停止某一事件会话后,该会话在 sys.dm_xe_sessions 动态管理视图 (DMV) 中不再作为活动会话列出。 但是,会话定义保持不变,并且您可以重新启动该会话。 若要完全删除某一会话定义,您必须删除该会话。

若要启动或停止扩展事件会话,您必须拥有 ALTER ANY EVENT SESSION 权限。

当你停止使用内存中目标(例如环形缓冲区、存储桶、事件配对或同步事件计数器目标)的会话时,在该会话的缓冲区中存储的所有信息(sys.dm_xe_session_targets DMV 的 target_data 列)将会丢失。 若要在停止该会话后访问事件数据,则应在停止该会话之前保存数据,或者配置该会话以使用文件目标。

使用查询编辑器启动或停止扩展事件会话

若要启用某一会话,请发出以下语句,使用扩展事件会话的名称替换 session_name

ALTER EVENT SESSION [session_name]  
ON SERVER  
STATE = START  

若要停止某一会话,请发出以下语句,使用扩展事件会话的名称替换 session_name

ALTER EVENT SESSION [session_name]  
ON SERVER  
STATE = STOP  

在对象资源管理器中启动或停止扩展事件会话

若要在“对象资源管理器”中启动或停止扩展事件会话,则依次展开“管理”、“扩展事件”和“会话”节点,右键单击所需的会话,然后单击“启动会话”或“停止会话”

导出扩展事件会话模板

可以使用 “对象资源管理器”导出扩展事件会话,并将它保存为 .xml 模板文件。 例如,您可能要导出会话,然后使用 “新建会话向导”“新建会话” 对话框将模板应用到新的事件会话。

导出会话时,确保将模板文件保存到使用 NTFS 文件系统的某个位置,并且只允许有权查看该信息的用户对其进行访问。

“对象资源管理器”中导出扩展事件会话:

  1. 依次展开 “管理”“扩展事件”“会话” 节点。

  2. 右键单击要导出的会话,然后选择“导出会话”

  3. “另存为” 对话框中选择保存文件的位置,在 “文件名” 框中键入文件名,然后单击 “保存”

    如果你将文件保存到默认的 SQL Server Management Studio 模板位置,则当你使用“新建会话向导”和“新建会话”对话框时,该模板将出现在预定义模板的下拉列表中。

导入扩展事件会话模板

通过使用 “对象资源管理器”,您可导入扩展事件会话的模板。 例如,你可能希望执行此操作以利用从 SQL Server 的其他实例导出的模板创建会话。

若要导入扩展事件会话,则您必须具有必要的 ALTER ANY EVENT SESSION 权限。

在您导入模板文件之前,确保该文件来自受信任的源。 应将模板文件保存到一个使用 NTFS 文件系统的位置,并限制只有获得授权查看信息的用户才可以访问该位置。

若要导入扩展事件会话:

  1. “对象资源管理器”中,依次展开 “管理”“扩展事件” 节点。

  2. 右键单击“会话”,然后选择“新建会话”。

  3. 指定会话的名称。

  4. 展开 “模板” 下拉框。

  5. 单击“<文件位置…>打开”并通过浏览找到要导入的会话(XML 文件)。

会话将出现在 “会话” 节点下。 默认情况下,不会启动会话。

编辑扩展事件会话

您可在“对象资源管理器”中编辑扩展事件会话。

编辑扩展事件会话:

  1. “对象资源管理器”中,依次展开 “管理”“扩展事件”“会话” 节点。

  2. 右键单击一个会话,然后选择“属性”

  3. “选择页” 部分,选择您要编辑的页。

  4. 在完成对事件会话的修改后,单击 “确定”

使用 Transact-SQL 编写事件会话定义脚本

“新建会话向导”和“新建会话”对话框都包含一个可用于生成定义扩展事件会话的 Transact-SQL 的“脚本”选项。

你可以通过以下方法访问现有扩展事件会话的 Transact-SQL:右键单击该会话名称,选择“编写会话脚本为”,然后再选择“CREATE 到”

删除扩展事件会话

您可以删除扩展事件会话:

  • 在“查询编辑器”中使用 DROP EVENT SESSION

  • “对象资源管理器”中。

在你删除某一事件会话时,所有配置信息都将被删除,并且会话定义不再在 sys.server_event_sessions 目录视图中出现。

注意

SQL Server 附带 system_health 和 Always On_health;请勿删除。 默认情况下,将启用 system_health(有关详细信息,请参阅 使用 system_health 会话)。 默认情况下,将关闭 AlwaysOn_health。 这些会话将收集可用于诊断性能问题的数据。

若要删除某一扩展事件会话,您必须具有 ALTER ANY EVENT SESSION 权限。

若要在 “对象资源管理器”中删除扩展事件会话:

  1. 依次展开 “管理”“扩展事件”“会话” 节点。

  2. 右键单击一个会话,然后选择“删除”

  3. “删除对象” 对话框中,单击 “确定”

  4. 在完成对事件会话的修改后,单击 “确定”

若要在“查询编辑器”中删除一个扩展事件会话,请发出以下语句,并将 session_name 替换为你要删除的扩展事件会话的名称:

DROP EVENT SESSION [session_name]  
ON SERVER