Freigeben über


sp_syscollector_update_collection_set (Transact-SQL)

Wird verwendet, um die Eigenschaften eines benutzerdefinierten Sammlungssatzes zu ändern oder einen benutzerdefinierten Sammlungssatz umzubenennen.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

sp_syscollector_update_collection_set 
    [ [ @collection_set_id = ] collection_set_id ]
        , [ [ @name = ] 'name' ]
        , [ [ @new_name = ] 'new_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_uid' ]
        , [ [ @logging_level = ] logging_level ]
        , [ [ @description = ] 'description' ]

Argumente

  • [ @collection_set_id = ] collection_set_id
    Der eindeutige lokale Bezeichner für den Sammlungssatz. collection_set_id ist vom Datentyp int und muss über einen Wert verfügen, wenn name NULL ist.

  • [ @name = ] 'name'
    Der Name des Sammlungssatzes. name ist vom Datentyp sysname und muss über einen Wert verfügen, wenn collection_set_id NULL ist.

  • [ @new_name = ] 'new_name'
    Der neue Name des Sammlungssatzes. new_name ist vom Datentyp sysname und darf, wenn verwendet, keine leere Zeichenfolge sein. new_name muss eindeutig sein. Wenn Sie eine Liste der aktuellen Namen von Sammlungssätzen abrufen möchten, fragen Sie die syscollector_collection_sets-Systemsicht ab.

  • [ @target = ] 'target'
    Reserviert für zukünftige Verwendung.

  • [ @collection_mode = ] collection_mode
    Der Typ der zu verwendenden Datensammlung. collection_mode ist vom Datentyp smallint. Die folgenden Werte sind möglich:

    0 - Modus mit Zwischenspeicherung. Für Datensammlung und -upload werden separate Zeitpläne verwendet. Geben Sie den Modus mit Zwischenspeicherung für eine fortlaufende Sammlung an.

    1 - Modus ohne Zwischenspeicherung. Für Datensammlung und -upload wird der gleiche Zeitplan verwendet. Geben Sie den Modus ohne Zwischenspeicherung für eine Ad-hoc-Sammlung oder eine Momentaufnahmesammlung an.

    Wenn Sie aus dem Modus ohne Zwischenspeicherung in den Modus mit Zwischenspeicherung (0) wechseln, müssen Sie entweder schedule_uid oder schedule_name angeben.

  • [ @days_until_expiration= ] days_until_expiration
    Die Anzahl der Tage, die die gesammelten Daten im Verwaltungs-Data Warehouse gespeichert werden. days_until_expiration ist vom Datentyp smallint. days_until_expiration muss 0 (null) oder eine positive ganze Zahl sein.

  • [ @proxy_id = ] proxy_id
    Der eindeutige Bezeichner für ein SQL Server-Agent-Proxykonto. proxy_id ist vom Datentyp int.

  • [ @proxy_name = ] 'proxy_name'
    Der Name des Proxys. proxy_name ist vom Datentyp sysname und lässt NULL-Werte zu.

  • [ @schedule_uid = ] 'schedule_uid'
    GUID, der auf einen Zeitplan zeigt. schedule_uid ist vom Datentyp uniqueidentifier.

    Um schedule_uid abzurufen, fragen Sie die sysschedules-Systemtabelle ab.

    Wenn collection_mode auf 0 festgelegt ist, muss schedule_uid oder schedule_name angegeben werden. Wenn collection_mode auf 1 festgelegt ist, wird schedule_uid oder schedule_name ignoriert, wenn angegeben.

  • [ @schedule_name = ] 'schedule_name'
    Name des Zeitplans. schedule_name ist vom Datentyp sysname und lässt NULL-Werte zu. Wenn angegeben, muss schedule_uid NULL sein. Um schedule_name abzurufen, fragen Sie die sysschedules-Systemtabelle ab.

  • [ @logging_level = ] logging_level
    Der Protokolliergrad. logging_level ist vom Datentyp smallint. Die folgenden Werte sind möglich:

    0 - Informationen zur Protokollausführung und zu den SSIS-Ereignissen, die Folgendes nachverfolgen:

    • Starten/Beenden von Sammlungssätzen

    • Starten/Beenden von Paketen

    • Fehlerinformationen

    1 - Protokollierung Stufe 0 und:

    • Ausführungsstatistiken

    • Kontinuierliche Ausführung der Sammlung

    • Warnungsereignisse von SSIS

    2 - Protokollierung Stufe 1 sowie ausführliche Ereignisinformationen von SSIS.

    Der Standardwert für logging_level ist 1.

  • [ @description = ] 'description'
    Die Beschreibung für den Sammlungssatz. description ist vom Datentyp nvarchar(4000).

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Hinweise

sp_syscollector_update_collection_set muss im Kontext der msdb-Systemdatenbank ausgeführt werden.

Entweder collection_set_id oder name muss über einen Wert verfügen; es können nicht beide NULL sein. Um diese Werte abzurufen, fragen Sie die syscollector_collection_sets-Systemsicht ab.

Wenn der Sammlungssatz ausgeführt wird, können Sie nur schedule_uid und description aktualisieren. Um den Sammlungssatz zu beenden, verwenden Sie sp_syscollector_stop_collection_set.

Berechtigungen

Zum Ausführen dieser Prozedur ist die Mitgliedschaft in der festen Datenbankrolle dc_admin oder dc_operator (mit EXECUTE-Berechtigung) erforderlich. Obwohl die dc_operator-Rolle diese gespeicherte Prozedur ausführen kann, können die Eigenschaften von den Mitgliedern dieser Rolle nur begrenzt geändert werden. Die folgenden Eigenschaften können nur von dc_admin geändert werden:

  • @new_name

  • @target

  • @proxy_id

  • @description

  • @collection_mode

  • @days_until_expiration

Beispiele

A. Umbenennen eines Sammlungssatzes

Im folgenden Beispiel wird ein benutzerdefinierter Sammlungssatz umbenannt.

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. Wechseln vom Sammlungsmodus ohne Zwischenspeicherung in den Modus mit Zwischenspeicherung

Im folgenden Beispiel wird vom Sammlungsmodus ohne Zwischenspeicherung in den Modus mit Zwischenspeicherung gewechselt. Für diesen Wechsel müssen Sie eine Zeitplan-ID oder einen Zeitplannamen angeben.

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. Ändern von anderen Sammlungssatzparametern

Im folgenden Beispiel werden verschiedene Eigenschaften des Sammlungssatzes "Simple collection set test 2" aktualisiert.

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