Condividi tramite


core.sp_create_snapshot (Transact-SQL)

Si applica a: SQL Server

Inserisce una riga nella vista data warehouse core.snapshots di gestione. Questa procedura viene chiamata tutte le volte che un pacchetto di caricamento avvia il caricamento dei dati nel data warehouse di gestione.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

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
[ ; ]

Argomenti

[ @collection_set_uid = ] 'collection_set_uid'

GUID per il set di raccolta. @collection_set_uid è uniqueidentifier senza alcun valore predefinito. Per ottenere il GUID, eseguire una query sulla vista dbo.syscollector_collection_sets nel msdb database.

[ @collector_type_uid = ] 'collector_type_uid'

GUID per un tipo agente di raccolta. @collector_type_uid è uniqueidentifier senza alcun valore predefinito. Per ottenere il GUID, eseguire una query sulla vista dbo.syscollector_collector_types nel msdb database.

[ @machine_name = ] 'machine_name'

Nome del server in cui risiede l'insieme di raccolta. @machine_name è sysname, senza alcun valore predefinito.

[ @named_instance = ] 'named_instance'

Nome dell'istanza per l'insieme di raccolta. @named_instance è sysname, senza alcun valore predefinito.

[ @log_id = ] log_id

Identificatore univoco tramite cui viene eseguito il mapping al registro eventi del set di raccolta nel server da cui sono stati raccolti i dati. @log_id è bigint senza alcun valore predefinito. Per ottenere il valore per log_id, eseguire una query sulla vista dbo.syscollector_execution_log nel msdb database.

[ @snapshot_id = ] snapshot_id

Identificatore univoco per una riga inserita nella core.snapshots visualizzazione. @snapshot_id è int e viene restituito come OUTPUT.

Valori del codice restituito

0 (esito positivo) o 1 (errore).

Osservazioni:

Ogni volta che un pacchetto di caricamento inizia a caricare i dati nel data warehouse di gestione, il componente di runtime dell'agente di raccolta dati chiama core.sp_create_snapshot.

Tramite questa procedura viene verificato quanto segue:

  • Il collection_set_uid corrisponde a una voce esistente nella core.source_info_internal tabella.

  • Il collector_type_uid corrisponde a una voce esistente nella core.supported_collector_types visualizzazione.

Se una delle due precedenti verifiche non ha esito positivo, la procedura ha esito negativo e viene restituito un errore.

Autorizzazioni

Richiede l'appartenenza al ruolo predefinito del database mdw_writer (con autorizzazione EXECUTE).

Esempi

Nell'esempio seguente viene creato uno snapshot per il set di raccolta Utilizzo disco, lo snapshot viene aggiunto al data warehouse di gestione e viene restituito l'identificatore dello snapshot. In questo esempio viene utilizzata l'istanza predefinita.

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;