core.sp_update_data_source (Transact-SQL)
适用范围:SQL Server
更新现有行或在管理数据仓库 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,请查询数据库中的dbo.syscollector_collection_sets视图 msdb
。
[ @machine_name = ] 'machine_name'
收集组所在的服务器的名称。 @machine_name 为 没有默认值的 sysname 。
[ @named_instance = ] 'named_instance'
收集组实例的名称。 @named_instance 为 sysname,没有默认值。
注意
named_instance必须是完全限定的实例名称,该名称由计算机名和窗体<computername>\<instancename>
中的实例名称组成。
[ @days_until_expiration = ] days_until_expiration
快照数据保持期剩余天数。 @days_until_expiration较小。
[ @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;