sp_syscollector_create_collection_set (Transact-SQL)
Si applica a: SQL Server
Crea un nuovo set di raccolta. È possibile utilizzare questa stored procedure per creare un set di raccolta personalizzato per la raccolta di dati.
Avviso
Nei casi in cui l'account di Windows configurato come proxy è un utente non interattivo o interattivo che non ha ancora eseguito l'accesso, la directory del profilo non esiste e la creazione della directory di staging avrà esito negativo. Pertanto, se si usa un account proxy in un controller di dominio, è necessario specificare un account interattivo usato almeno una volta per assicurarsi che la directory del profilo sia stata creata.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
sp_syscollector_create_collection_set
[ @name = ] N'name'
[ , [ @target = ] N'target' ]
[ , [ @collection_mode = ] collection_mode ]
[ , [ @days_until_expiration = ] days_until_expiration ]
[ , [ @proxy_id = ] proxy_id ]
[ , [ @proxy_name = ] N'proxy_name' ]
[ , [ @schedule_uid = ] 'schedule_uid' ]
[ , [ @schedule_name = ] N'schedule_name' ]
[ , [ @logging_level = ] logging_level ]
[ , [ @description = ] N'description' ]
, [ @collection_set_id = ] collection_set_id OUTPUT
[ , [ @collection_set_uid = ] 'collection_set_uid' OUTPUT ]
[ ; ]
Argomenti
[ @name = ] N'name'
Nome del set di raccolta. @name è sysname e non può essere una stringa vuota o NULL
.
@name deve essere univoco. Per un elenco dei nomi dei set di raccolta correnti, eseguire una query sulla syscollector_collection_sets
visualizzazione di sistema.
[ @target = ] N'target'
Riservato a un uso futuro. @target è nvarchar(128), con il valore predefinito NULL
.
[ @collection_mode = ] collection_mode
@collection_mode è smallint, con il valore predefinito .0
Specifica il modo in cui i dati vengono raccolti e archiviati. @collection_mode è smallint, con un valore predefinito , 0
e può avere uno dei valori seguenti:
0
: modalità memorizzata nella cache. La raccolta e il caricamento dei dati seguono una pianificazione differente. Specificare la modalità cache per la raccolta continua.1
: modalità non memorizzata nella cache. La raccolta e il caricamento dei dati seguono la stessa pianificazione. Specificare la modalità non in cache per la raccolta ad hoc o snapshot.
Quando @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 è smallint, con un valore predefinito di 730
(due anni). @days_until_expiration deve essere 0
o un numero intero positivo.
[ @proxy_id = ] proxy_id
Identificatore univoco per un account proxy di SQL Server Agent. @proxy_id è int, con il valore predefinito NULL
. Se specificato, @proxy_name deve essere NULL
. Per ottenere @proxy_id, eseguire una query sulla tabella di sysproxies
sistema. Il ruolo predefinito del database dc_admin deve disporre dell'autorizzazione per accedere al proxy. Per altre informazioni, vedere Creare un proxy di SQL Server Agent.
[ @proxy_name = ] N'proxy_name'
Nome dell'account proxy. @proxy_name è sysname, con il valore predefinito NULL
. Se specificato, @proxy_id deve essere NULL
. Per ottenere @proxy_name, eseguire una query sulla tabella di sysproxies
sistema.
[ @schedule_uid = ] 'schedule_uid'
GUID che punta a una pianificazione. @schedule_uid è uniqueidentifier, con un valore predefinito .NULL
Se specificato, @schedule_name deve essere NULL
. Per ottenere @schedule_uid, eseguire una query sulla tabella di sysschedules
sistema.
Quando @collection_mode è impostato su 0
, è necessario specificare @schedule_uid o @schedule_name . Quando @collection_mode è impostato su 1
, @schedule_uid o @schedule_name viene ignorato se specificato.
[ @schedule_name = ] N'schedule_name'
Nome della pianificazione. @schedule_name è sysname, con un valore predefinito .NULL
Se specificato, @schedule_uid deve essere NULL
. Per ottenere @schedule_name, eseguire una query sulla tabella di sysschedules
sistema.
[ @logging_level = ] logging_level
Livello di registrazione. @logging_level è smallint, con un valore predefinito , 1
con uno dei valori seguenti:
0
: informazioni sull'esecuzione del log ed eventi SSIS che tengono traccia:- Avvio/arresto dei set di raccolta
- Avvio/arresto dei pacchetti
- Informazioni sugli errori
1
: registrazione a livello0
e:- Statistiche di esecuzione
- Stato di avanzamento della raccolta in esecuzione continua
- Eventi di avviso da SSIS
2
: registrazione a livello1
e informazioni dettagliate sugli eventi da SSIS.
[ @description = ] N'description'
Descrizione del set di raccolta. @description è nvarchar(4000), con un valore predefinito .NULL
[ @collection_set_id = ] collection_set_id OUTPUT
Identificatore locale univoco per il set di raccolta. @collection_set_id è un parametro OUTPUT di tipo int.
[ @collection_set_uid = ] OUTPUT 'collection_set_uid'
GUID per il set di raccolta. @collection_set_uid è un parametro OUTPUT di tipo uniqueidentifier.
Valori del codice restituito
0
(esito positivo) o 1
(errore).
Osservazioni:
sp_syscollector_create_collection_set
deve essere eseguito nel contesto del msdb
database di sistema.
Autorizzazioni
Per eseguire questa procedura, è richiesta l'appartenenza al ruolo predefinito del database dc_admin (con autorizzazione EXECUTE).
Esempi
R. Creare un set di raccolta usando i valori predefiniti
Nell'esempio seguente viene creato un set di raccolta specificando solo i parametri obbligatori. @collection_mode non è obbligatorio, ma la modalità di raccolta predefinita (memorizzata nella cache) richiede di specificare un ID pianificazione o un nome di 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. Creare un set di raccolta usando i valori specificati
Nell'esempio seguente viene creato un set 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;
GO