sp_syscollector_start_collection_set (Transact-SQL)

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

主题链接图标Transact-SQL 语法约定

语法

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

参数

  • [ @collection_set_id = ] collection_set_id
    收集组的唯一本地标识符。collection_set_id 的数据类型为 int,默认值为 NULL。如果 name 为 NULL,collection_set_id 必须具有值。

  • [ @name = ] 'name'
    收集组的名称。name 的数据类型为 sysname,默认值为 NULL。如果 collection_set_id 为 NULL,name 必须具有值。

返回代码值

0(成功)或 1(失败)

注释

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

如果对没有计划的收集组运行此过程,则会失败。如果收集组没有计划(例如,由于其收集模式设置为非缓存),请使用 sp_syscollector_run_collection_set 存储过程启动收集组。

此过程将为指定的收集组启用收集和上载作业,并且,如果收集组的 @collection_mode 设置为缓存 (0),则会立即启动收集代理作业。有关详细信息,请参阅 sp_syscollector_create_collection_set

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

权限

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

示例

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

USE msdb;
GO
EXEC sp_syscollector_start_collection_set @collection_set_id = 1;