使用 Transact-SQL 管理数据收集

数据收集器提供了一系列内容丰富的存储过程,这些过程可用于执行任何数据收集任务。另外,它还包括一些函数和视图,这些函数和视图可用来获取 msdb 数据库和管理数据仓库数据库的配置数据、执行日志数据和存储在管理数据仓库中的数据。

您可使用提供的存储过程、函数和视图来创建自己的端到端数据收集方案。

重要说明重要提示

与常规存储过程不同的是,数据收集器存储过程使用严格类型化的参数,不支持自动的数据类型转换。如果这些参数不是通过正确的输入参数数据类型(按照参数说明中所做的指定)调用的,则存储过程会返回错误。

您可以使用 SQL Server Management Studio 来创建和执行提供的代码示例。有关详细信息,请参阅使用对象资源管理器。或者,您可在任何编辑器中创建查询并将其保存为文件扩展名为 .sql 的文本文件。您可以从 Windows 命令提示符处使用 sqlcmd 实用程序执行查询。有关详细信息,请参阅使用 sqlcmd 实用工具

存储过程和视图

使用数据收集器

下表介绍了使用数据收集器时可以使用的存储过程。

过程名称

说明

sp_syscollector_enable_collector

启用数据收集器。

sp_syscollector_disable_collector

禁用数据收集器。

使用收集组

下表介绍了使用收集组时可以使用的存储过程。

过程名称

说明

sp_syscollector_run_collection_set (Transact-SQL)

按需运行收集组。

sp_syscollector_start_collection_set (Transact-SQL)

启动收集组。

sp_syscollector_stop_collection_set

停止收集组。

sp_syscollector_create_collection_set (Transact-SQL)

创建收集组。

sp_syscollector_delete_collection_set

删除收集组。

sp_syscollector_update_collection_set (Transact-SQL)

更改收集组的配置

sp_syscollector_upload_collection_set (Transact-SQL)

将收集组数据上载到管理数据仓库。实际上,这是一种按需进行的上载。

使用收集项

下表介绍了使用收集项时可以使用的存储过程。

使用收集器类型

下表介绍了使用收集器类型时可以使用的存储过程。

获取配置信息

下表介绍了可用于获取配置信息和执行日志数据的视图。

视图名称

说明

syscollector_config_store (Transact-SQL)

获取数据收集器的配置。

syscollector_collection_items (Transact-SQL)

获取收集项信息。

syscollector_collection_sets (Transact-SQL)

获取收集组信息。

syscollector_collector_types (Transact-SQL)

获取收集器类型信息。

syscollector_execution_log (Transact-SQL)

获取有关收集组和包执行的信息。

syscollector_execution_stats (Transact-SQL)

获取有关任务执行的信息。

syscollector_execution_log_full (Transact-SQL)

当执行日志已满时获取信息。

配置访问管理数据仓库的权限

下表介绍了可用于配置访问管理数据仓库的权限的存储过程。

过程名称

说明

sp_syscollector_set_warehouse_database_name

指定在连接字符串中为管理数据仓库定义的数据库名称。

sp_syscollector_set_warehouse_instance_name

指定在连接字符串中为管理数据仓库定义的实例。

配置管理数据仓库

下表介绍了使用管理数据仓库配置时可以使用的存储过程。

过程名称

说明

core.sp_create_snapshot (Transact-SQL)

在管理数据仓库中创建一个收集快照。

core.sp_update_data_source (Transact-SQL)

为数据收集更新数据源。

core.sp_add_collector_type (Transact-SQL)

将收集器类型添加到管理数据仓库。

core.sp_remove_collector_type (Transact-SQL)

从管理数据仓库中删除收集器类型。

core.sp_purge_data (Transact-SQL)

从管理数据仓库中删除数据。

使用上载包

下表介绍了使用上载包时可以使用的存储过程。

过程名称

说明

sp_syscollector_set_cache_window (Transact-SQL)

配置数据上载重试的次数。

sp_syscollector_set_cache_directory (Transact-SQL)

指定在两次上载重试之间数据的临时存储区。

使用数据收集执行日志

下表介绍了使用数据收集执行日志时可以使用的存储过程。

过程名称

说明

sp_syscollector_delete_execution_log_tree

从执行日志删除收集组条目。

函数

下表介绍了可用于获取执行和跟踪信息的函数。

函数名称

说明

fn_syscollector_get_execution_details (Transact-SQL)

为特定包获取 SSIS 执行日志数据。

fn_syscollector_get_execution_stats (Transact-SQL)

为收集组或包获取执行统计信息。此信息包含所记录的错误。

snapshots.fn_trace_gettable (Transact-SQL)

获取使用一般 SQL Trace 收集器类型收集数据时记录的事件。