Condividi tramite


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.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

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;