Condividi tramite


sp_syscollector_update_collection_set (Transact-SQL)

Si applica a: SQL Server

Consente di rinominare un set di raccolta definito dall'utente o di modificarne le proprietà.

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_update_collection_set
    [ [ @collection_set_id = ] collection_set_id ]
    [ , [ @name = ] N'name' ]
    [ , [ @new_name = ] N'new_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' ]
[ ; ]

Argomenti

[ @collection_set_id = ] collection_set_id

Identificatore locale univoco per il set di raccolta. @collection_set_id è int e deve avere un valore se @name è NULL.

[ @name = ] N'name'

Nome del set di raccolta. @name è sysname e deve avere un valore se @collection_set_id è NULL.

[ @new_name = ] N'new_name'

Nuovo nome per il set di raccolta. @new_name è sysname, con un valore predefinito NULL, e se usato, non può essere una stringa vuota. @new_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

Tipo di raccolta dati da utilizzare. @collection_mode è smallint 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.

Se si passa dalla modalità non memorizzata nella cache alla modalità memorizzata nella cache (0), è necessario specificare anche @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 e 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.

[ @proxy_name = ] N'proxy_name'

Nome del proxy. @proxy_name è sysname, con il valore predefinito NULL.

[ @schedule_uid = ] 'schedule_uid'

GUID che punta a una pianificazione. @schedule_uid è uniqueidentifier, con un valore predefinito .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: registra le informazioni sull'esecuzione e gli eventi SSIS che tengono traccia:

    • Avvio/arresto dei set di raccolta
    • Avvio/arresto dei pacchetti
    • Informazioni sugli errori
  • 1: registrazione di livello 0 e:

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

Valori del codice restituito

0 (esito positivo) o 1 (errore).

Osservazioni:

sp_syscollector_update_collection_set deve essere eseguito nel contesto del msdb database di sistema.

Sia collection_set_id che il nome deve avere un valore, entrambi non possono essere NULL. Per ottenere questi valori, eseguire una query sulla syscollector_collection_sets visualizzazione di sistema.

Se il set di raccolta è in esecuzione, è possibile aggiornare solo schedule_uid e descrizione. Per arrestare il set di raccolta, usare sp_syscollector_stop_collection_set.

Autorizzazioni

Per eseguire questa procedura, è richiesta l'appartenenza al ruolo predefinito del database dc_admin o dc_operator (con autorizzazione EXECUTE). Sebbene dc_operator possibile eseguire questa stored procedure, i membri di questo ruolo sono limitati nelle proprietà che possono modificare. Le proprietà seguenti possono essere modificate solo da dc_admin:

  • @new_name
  • @target
  • @proxy_id
  • @description
  • @collection_mode
  • @days_until_expiration

Esempi

R. Rinominare un set di raccolta

Nell'esempio seguente viene rinominato un set di raccolta definito dall'utente.

USE msdb;
GO
EXECUTE dbo.sp_syscollector_update_collection_set
@name = N'Simple collection set test 1',
@new_name = N'Collection set test 1 in cached mode';
GO

B. Modificare la modalità raccolta da non memorizzata nella cache a memorizzata nella cache

Nell'esempio seguente la modalità di raccolta viene modificata da non in cache a cache. Per eseguire questa modifica, è necessario specificare un ID oppure un nome della pianificazione.

USE msdb;
GO
EXECUTE dbo.sp_syscollector_update_collection_set
@name = N'Collection set test 1 in cached mode',
@collection_mode = 0,
@schedule_uid = 'C7022AF3-51B8-4011-B159-64C47C88FF70';
-- alternatively, use @schedule_name.
-- @schedule_name = N'CollectorSchedule_Every_15min;
GO

C. Modificare altri parametri del set di raccolta

Nell'esempio seguente vengono aggiornate varie proprietà del set di raccolta denominato Simple collection set test 2.

USE msdb;
GO

EXEC dbo.sp_syscollector_update_collection_set
    @name = N'Simple collection set test 2',
    @collection_mode = 1,
    @days_until_expiration = 5,
    @description = N'This is a test collection set that runs in noncached mode.',
    @logging_level = 0;
GO