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, запросите представление 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 имеет тип 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 и является выходным.
Значения кода возврата
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;
См. также