Condividi tramite


core.sp_create_snapshot (Transact-SQL)

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

Icona di collegamento a un argomentoConvenzioni della 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 è di tipo uniqueidentifier e non prevede alcun valore predefinito. Per ottenere il GUID, eseguire una query sulla vista dbo.syscollector_collection_sets nel database msdb.

  • [ @collector_type_uid = ] 'collector_type_uid'
    GUID per un tipo di agente di raccolta. collector_type_uid è di tipo uniqueidentifier e non prevede alcun valore predefinito. Per ottenere il GUID, eseguire una query sulla vista dbo.syscollector_collector_types nel database msdb.

  • [ @machine_name = ] 'machine_name'
    Nome del server in cui si trova il set di raccolta. machine_name è di tipo sysname e non prevede alcun valore predefinito.

  • [ @named_instance = ] 'named_instance'
    Nome dell'istanza per il set di raccolta. named_instance è di tipo sysname e non prevede alcun valore predefinito.

  • [ @log_id = ] log_id
    Identificatore univoco che definisce il mapping al registro eventi dell'insieme di raccolta nel server da cui sono stati raccolti i dati. log_id è di tipo bigint e non prevede alcun valore predefinito. Per ottenere il valore per log_id, eseguire una query sulla vista dbo.syscollector_execution_log nel database msdb.

  • [ @snapshot_id = ] snapshot_id
    Identificatore univoco di una riga inserita nella vista core.snapshots. snapshot_id è di tipo int e viene restituito come OUTPUT.

Valori dei codici restituiti

0 (esito positivo) o 1 (esito negativo)

Osservazioni

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

Questa procedura verifica gli aspetti seguenti:

  • Corrispondenza di collection_set_uid con una voce esistente nella tabella core.source_info_internal.

  • Corrispondenza di collector_type_uid con una voce esistente nella vista core.supported_collector_types.

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

Autorizzazioni

È richiesta 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;