sp_syscollector_create_collection_set (Transact-SQL)
Crea un nuovo insieme di raccolta. È possibile utilizzare questa stored procedure per creare un insieme di raccolta personalizzato per la raccolta di dati.
Sintassi
sp_syscollector_create_collection_set
[ @name = ] 'name'
, [ [ @target = ] 'target' ]
, [ [ @collection_mode = ] collection_mode ]
, [ [ @days_until_expiration = ] days_until_expiration ]
, [ [ @proxy_id = ] proxy_id ]
, [ [ @proxy_name = ] 'proxy_name' ]
, [ [ @schedule_uid = ] 'schedule_uid' ]
, [ [ @schedule_name = ] 'schedule_name' ]
, [ [ @logging_level = ] logging_level ]
, [ [ @description = ] 'description' ]
, [ @collection_set_id = ] collection_set_id OUTPUT
, [ [ @collection_set_uid = ] 'collection_set_uid' OUTPUT ]
Argomenti
[ @name = ] 'name'
Nome dell'insieme di raccolta. name è di tipo sysname e non può essere una stringa vuota o NULL.name deve essere univoco. Per un elenco dei nomi degli insiemi di raccolta correnti, eseguire una query sulla vista di sistema syscollector_collection_sets.
[ @target = ] 'target'
Riservato per utilizzi futuri. name è di tipo nvarchar(128) e il valore predefinito è NULL.[ @collection\_mode = ] collection_mode
Specifica il modo in cui i dati vengono raccolti e archiviati. collection_mode è di tipo smallint e i valori possibili sono i seguenti:0 - Modalità cache. La raccolta e il caricamento dei dati avvengono in base a pianificazioni distinte. Specificare la modalità cache per la raccolta continua.
1 - Modalità non in cache. La raccolta e il caricamento dei dati avvengono in base alla stessa pianificazione. Specificare la modalità non in cache per la raccolta ad hoc o snapshot.
Il valore predefinito di collection_mode è 0. Quando il valore di collection_mode è 0, è necessario specificare schedule_uid o schedule_name.
[ @days\_until\_expiration = ] days_until_expiration
Numero di giorni durante i quali i dati raccolti vengono salvati nel data warehouse di gestione. days_until_expiration è di tipo smallint e il valore predefinito è 730 (due anni). Il valore di days_until_expiration deve essere 0 o un valore integer positivo.[ @proxy\_id = ] proxy_id
Identificatore univoco per un account proxy di SQL Server Agent. proxy_id è di tipo int e il valore predefinito è NULL. Se specificato, proxy_name deve essere NULL. Per ottenere proxy_id, eseguire una query sulla tabella di sistema sysproxies. Per accedere al proxy, il ruolo predefinito del database dc_admin deve disporre dell'autorizzazione appropriata. Per ulteriori informazioni, vedere Creazione di proxy di SQL Server Agent.[ @proxy\_name = ] 'proxy_name'
Nome dell'account proxy. proxy_name è di tipo sysname e il valore predefinito è NULL. Se specificato, proxy_id deve essere NULL. Per ottenere proxy_name, eseguire una query sulla tabella di sistema sysproxies.[ @schedule\_uid = ] 'schedule_uid'
GUID che punta a una pianificazione. schedule_uid è di tipo uniqueidentifier e il valore predefinito è NULL. Se specificato, schedule_name deve essere NULL. Per ottenere schedule_uid, eseguire una query sulla tabella di sistema sysschedules.Quando collection_mode è impostato su 0, è necessario specificare schedule_uid o schedule_name. Quando collection_mode è impostato su 1, se schedule_uid o schedule_name è specificato, viene ignorato.
[ @schedule\_name = ] 'schedule_name'
Nome della pianificazione. schedule_name è di tipo sysname e il valore predefinito è NULL. Se specificato, schedule_uid deve essere NULL. Per ottenere schedule_name, eseguire una query sulla tabella di sistema sysschedules.[ @logging\_level = ] logging_level
Livello di registrazione. logging_level è di tipo smallint e i possibili valori sono i seguenti:0 - Informazioni di esecuzione del log ed eventi SSIS che tengono traccia degli elementi seguenti:
Avvio/interruzione degli insiemi di raccolta
Avvio/interruzione dei pacchetti
Informazioni sugli errori
1 - Registrazione di livello 0 e dei seguenti elementi:
Statistiche di esecuzione
Stato di avanzamento della raccolta in esecuzione continua
Eventi di avviso da SSIS
2 - Registrazione di livello 1 e di informazioni dettagliate sugli eventi di SSIS
Il valore predefinito di logging_level è 1.
[ @description = ] 'description'
Descrizione dell'insieme di raccolta. description è di tipo nvarchar(4000) e il valore predefinito è NULL.[ @collection\_set\_id = ] collection_set_id
Identificatore univoco locale per l'insieme di raccolta. collection_set_id è int con OUTPUT ed è obbligatorio.[ @collection\_set\_uid = ] 'collection_set_uid'
GUID dell'insieme di raccolta. collection_set_uid è di tipo uniqueidentifier con OUTPUT e il valore predefinito è NULL.
Valori restituiti
0 (esito positivo) o 1 (esito negativo)
Osservazioni
È necessario eseguire sp_syscollector_create_collection_set nel contesto del database di sistema msdb.
Autorizzazioni
Per eseguire questa procedura, è necessaria l'appartenenza al ruolo predefinito del database dc_admin (con autorizzazione EXECUTE).
Esempi
A. Creazione di un insieme di raccolta utilizzando valori predefiniti
Nell'esempio seguente viene creato un insieme di raccolta specificando solo i parametri obbligatori. @collection\_mode non è obbligatorio, ma per la modalità di raccolta predefinita (cache) è necessario specificare un ID oppure un nome della pianificazione.
USE msdb;
GO
DECLARE @collection_set_id int;
EXECUTE dbo.sp_syscollector_create_collection_set
@name = N'Simple collection set test 1',
@description = N'This is a test collection set that runs in non-cached mode.',
@collection_mode = 1,
@collection_set_id = @collection_set_id OUTPUT;
GO
B. Creazione di un insieme di raccolta utilizzando valori specificati
Nell'esempio seguente viene creato un insieme di raccolta specificando i valori per numerosi parametri.
USE msdb;
GO
DECLARE @collection_set_id int;
DECLARE @collection_set_uid uniqueidentifier;
SET @collection_set_uid = NEWID();
EXEC dbo.sp_syscollector_create_collection_set
@name = N'Simple collection set test 2',
@collection_mode = 0,
@days_until_expiration = 365,
@description = N'This is a test collection set that runs in cached mode.',
@logging_level = 2,
@schedule_name = N'CollectorSchedule_Every_30min',
@collection_set_id = @collection_set_id OUTPUT,
@collection_set_uid = @collection_set_uid OUTPUT;