sp_syscollector_start_collection_set (Transact-SQL)
如果已启用收集器但收集组未运行,请启动收集组。如果未启用收集器,请通过运行 sp_syscollector_enable_collector 启用收集器,然后使用此存储过程启动收集组。
语法
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;