core.sp_create_snapshot (Transact-SQL)
在管理資料倉儲的 core.snapshots 檢視表中,插入資料列。每次上載封裝開始將資料上載至管理資料倉儲時,就會呼叫這個程序。
語法
core.sp_create_snapshot [ @collection_set_uid = ] 'collection_set_uid'
, [ @collector_type_uid = ] 'collector_type_uid'
,[ @machine_name = ] 'machine_name'
, [ @named_instance = ] 'named_instance'
, [ @log_id = ] log_id
, [ @snapshot_id = ] snapshot_id OUTPUT
引數
[ @collection\_set\_uid = ] 'collection_set_uid'
收集組的 GUID。collection_set_uid 是 uniqueidentifier,沒有預設值。若要取得 GUID,請查詢 msdb 資料庫中的 dbo.syscollector_collection_sets 檢視表。[ @collector\_type\_uid = ] 'collector_type_uid'
收集器型別的 GUID。collector_type_uid 是 uniqueidentifier,沒有預設值。若要取得 GUID,請查詢 msdb 資料庫中的 dbo.syscollector_collector_types 檢視表。[ @machine\_name = ] 'machine_name'
收集組所在的伺服器名稱。machine_name 是 sysname,沒有預設值。[ @named\_instance = ] 'named_instance'
收集組的執行個體名稱。named_instance 是 sysname,沒有預設值。[ @log\_id = ] log_id
在收集資料的伺服器上對應至收集組事件記錄檔的唯一識別碼。log_id 是 bigint,沒有預設值。若要取得 log_id 的值,請查詢 msdb 資料庫中的 dbo.syscollector_execution_log 檢視表。[ @snapshot\_id = ] snapshot_id
插入 core.snapshots 檢視表中之資料列的唯一識別碼。snapshot_id 是 int,而且會當做 OUTPUT 傳回。
傳回碼值
0 (成功) 或 1 (失敗)
備註
每次上載封裝開始將資料上載至管理資料倉儲時,資料收集器執行階段元件就會呼叫 core.sp_create_snapshot。
這個程序會查看:
collection_set_uid 是否符合 core.source_info_internal 資料表中的現有項目。
collector_type_uid 是否符合 core.supported_collector_types 檢視表中的現有項目。
如果上述其中一項檢查失敗,此程序就會失敗並傳回錯誤。
權限
需要 mdw_writer (具有 EXECUTE 權限) 固定資料庫角色中的成員資格。
範例
下列範例會針對「磁碟使用量」收集組建立快照集、將它加入到管理資料倉儲中,並傳回快照集識別碼。此範例中會使用預設執行個體。
USE <management_data_warehouse>;
DECLARE @snapshot_id int;
EXEC core.sp_create_snapshot
@collection_set_uid = '7B191952-8ECF-4E12-AEB2-EF646EF79FEF',
@collector_type_uid = '302E93D1-3424-4BE7-AA8E-84813ECF2419',
@machine_name = '<computername>',
@named_instance = 'MSSQLSERVER',
@log_id = 11, -- ID of the log for the collection set
@snapshot_id = @snapshot_id OUTPUT;
變更記錄
更新的內容 |
---|
已更正「備註」一節中 collection_set_uid 引數和 core.source_info_internal 資料表的名稱。 |
已更正此範例中的引數名稱、GUID 和語法。 |