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;