core.sp_create_snapshot (Transact-SQL)
適用於:SQL Server
在管理數據倉儲檢視中插入數據列 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,請在資料庫中查詢dbo.syscollector_collection_sets檢視 msdb
。
[ @collector_type_uid = ] 'collector_type_uid'
收集器類型的 GUID。 @collector_type_uid是 uniqueidentifier,沒有預設值。 若要取得 GUID,請在資料庫中查詢dbo.syscollector_collector_types檢視 msdb
。
[ @machine_name = ] 'machine_name'
收集組所在的伺服器名稱。 @machine_name為 sysname,沒有預設值。
[ @named_instance = ] 'named_instance'
收集組的實例名稱。 @named_instance為 sysname,沒有預設值。
[ @log_id = ] log_id
對應至收集組事件記錄檔之伺服器上收集數據的唯一標識符。 @log_id是 bigint,沒有預設值。 若要取得log_id的值,請在資料庫中查詢dbo.syscollector_execution_log檢視msdb
。
[ @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;