core.sp_update_data_source (Transact-SQL)

适用范围:SQL Server

更新现有行或在管理数据仓库 core.source_info_internal 表中插入新行。 每次上载包开始将数据上载到管理数据仓库时,数据收集器运行时组件都会调用此过程。

Transact-SQL 语法约定

语法

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_instancesysname,没有默认值。

注意

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;