Condividi tramite


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 , 0e 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 , 1con 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 livello 0 e:

    • Statistiche di esecuzione
    • Stato di avanzamento della raccolta in esecuzione continua
    • Eventi di avviso da SSIS
  • 2: registrazione a livello 1 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