Поделиться через


core.sp_create_snapshot (Transact-SQL)

Область применения: SQL Server

Вставляет строку в представление хранилища core.snapshots данных управления. Эта процедура вызывается каждый раз, когда пакет передачи начинает передавать данные в хранилище данных управления.

Соглашения о синтаксисе Transact-SQL

Синтаксис

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 является уникальным идентификатором без значения по умолчанию. Чтобы получить GUID, запросите представление dbo.syscollector_collection_sets в msdb базе данных.

[ @collector_type_uid = ] 'collector_type_uid'

Идентификатор GUID для типа сборщика. @collector_type_uid является уникальным идентификатором без значения по умолчанию. Чтобы получить 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 имеет большое значение без значения по умолчанию. Чтобы получить значение для 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;