core.sp_update_data_source (Transact-SQL)
更新管理数据仓库 core.source_info_internal 表中的现有行或在其中插入新行。每当上载包开始向管理数据仓库上载数据时,数据收集器运行时组件都会调用此过程。
语法
core.sp_update_data_source [ @collection_set_uid = ] 'collection_set_uid'
,[ @machine_name = ] 'machine_name'
, [ @named_instance = ] 'named_instance'
, [ @days_until_expiration = ] days_until_expiration
, [ @source_id = ] source_id OUTPUT
参数
[ @collection_set_uid = ] 'collection_set_uid'
收集组的 GUID。collection_set_uid 的数据类型为 uniqueidentifier,没有默认值。若要获取 GUID,请查询 msdb 数据库中的 dbo.syscollector_collection_sets 视图。[ @machine_name = ] 'machine_name'
收集组驻留所在的服务器的名称。machine_name 的数据类型为 sysname,没有默认值。[ @named_instance = ] 'named_instance'
收集组实例的名称。named_instance 的数据类型为 sysname,没有默认值。注意 named_instance 必须是完全限定的实例名称,即由计算机名称和实例名称组成,格式为计算机名称\实例名称。
[ @days_until_expiration = ] days_until_expiration
快照数据保持期剩余天数。days_until_expiration 的数据类型为 smallint。[ @source_id = ] source_id
更新的来源的唯一标识符。source_id 的数据类型为 int 并作为 OUTPUT 返回。
返回代码值
0(成功)或 1(失败)
注释
每当上载包开始向管理数据仓库上载数据时,数据收集器运行时组件都会调用 core.sp_update_data_source。如果自上次上载后发生了以下某项更改,则更新 core.source_info_internal 表:
添加了新收集组。
days_until_expiration 的值已更改。
权限
需要具有 mdw_writer(拥有 EXECUTE 权限)固定数据库角色的成员身份。
示例
下面的示例更新数据源(在本例中为“磁盘使用情况”收集组)、设置过期前的天数并返回数据源的标识符。在本示例中,使用默认实例。
USE <management_data_warehouse>;
GO
DECLARE @source_id int;
EXEC core.sp_update_data_source
@collection_set_uid = '7B191952-8ECF-4E12-AEB2-EF646EF79FEF',
@machine_name = '<computername>',
@named_instance = 'MSSQLSERVER',
@days_until_expiration = 10,
@source_id = @source_id OUTPUT;