sp_syscollector_start_collection_set (Transact-SQL)

适用于:SQL Server

如果收集器已启用且集合集未运行,则启动收集集。 如果未启用收集器,请通过运行 sp_syscollector_enable_collector 启用收集器,然后使用此存储过程启动收集集。

Transact-SQL 语法约定

语法

sp_syscollector_start_collection_set
    [ [ @collection_set_id = ] collection_set_id ]
    [ , [ @name = ] N'name' ]
[ ; ]

参数

[ @collection_set_id = ] collection_set_id

集合集的唯一本地标识符。 @collection_set_id为 int,默认值为 NULL. 如果@nameNULL@collection_set_id必须具有值。

[ @name = ] N'name'

收集组的名称。 @name为 sysname,默认值为 NULL. 如果@collection_set_idNULL,@name必须具有值

返回代码值

0(成功)或 1(失败)。

注解

sp_syscollector_create_collection_set必须在系统数据库的上下文msdb中运行,并且必须启用SQL Server 代理。

针对没有计划的集合集运行时,此过程将失败。 如果集合集没有计划(因为它的收集模式设置为非缓存,例如),请使用 sp_syscollector_run_collection_set 存储过程启动收集集。

此过程为指定的集合集启用集合和上传作业,如果集合集的收集模式设置为缓存(0),则立即启动收集代理作业。 有关详细信息,请参阅 sp_syscollector_create_collection_set

如果集合集不包含任何集合项,则此操作不起作用。 将以警告的形式返回错误 14685。

权限

要求dc_operator固定数据库角色的成员身份才能执行此过程。 如果收集组没有代理帐户,则需要具有 sysadmin 固定服务器角色的成员身份。

示例

下面的示例使用收集组的标识符启动此收集组。

USE msdb;
GO
EXEC sp_syscollector_start_collection_set @collection_set_id = 1;