Freigeben über


sp_syscollector_update_collection_set (Transact-SQL)

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

VorsichtshinweisVorsicht

Falls das als Proxy konfigurierte Windows-Konto einem nicht interaktiven oder interaktiven Benutzer entspricht, der noch nicht angemeldet ist, ist das Profilverzeichnis nicht vorhanden, und die Erstellung des Stagingverzeichnisses schlägt in dem Fall fehl. Verwenden Sie ein Proxykonto auf einem Domänencontroller, müssen Sie also ein interaktives Konto angeben, das mindestens einmal verwendet wurde. So lässt sich sicherstellen, dass das Profilverzeichnis erstellt wurde.

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'
    Entspricht dem neuen Namen 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 Sammlungssatznamen abrufen möchten, fragen Sie die syscollector_collection_sets-Systemsicht ab.

  • [ @target = ] 'target'
    Zur künftigen Verwendung reserviert.

  • [ @collection\_mode = ] collection_mode
    Entspricht dem Typ der zu verwendenden Datenauflistung. collection_mode ist smallint und kann einen der folgenden Werte aufweisen:

    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, an denen 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
    Ist 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 sysname und ist auf NULL festlegbar.

  • [ @schedule\_uid = ] 'schedule_uid'
    Entspricht dem GUID, der auf einen Zeitplan zeigt. schedule_uid ist vom Datentyp uniqueidentifier.

    Zum Abrufen von schedule_uid 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'
    Der Name des Zeitplans. schedule_name ist sysname und ist auf NULL festlegbar. Wenn angegeben, muss schedule_uid NULL sein. Zum Abrufen von schedule_name fragen Sie die sysschedules-Systemtabelle ab.

  • [ @logging\_level = ] logging_level
    Entspricht dem Protokolliergrad. logging_level ist smallint und weist einen der folgenden Werte auf:

    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 lauten. 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

Damit diese Prozedur ausgeführt werden kann, 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 Auflistmodus 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

Siehe auch

Verweis

Gespeicherte Systemprozeduren (Transact-SQL)

syscollector_collection_sets (Transact-SQL)

dbo.sysschedules (Transact-SQL)

Konzepte

Datensammlung