Freigeben über


sp_syscollector_update_collection_set (Transact-SQL)

Gilt für: SQL Server

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

Warnung

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.

Transact-SQL-Syntaxkonventionen

Syntax

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' ]
[ ; ]

Argumente

[ @collection_set_id = ] collection_set_id

Der eindeutige lokale Bezeichner für den Sammlungssatz. @collection_set_id ist int und muss einen Wert aufweisen, wenn @name istNULL.

[ @name = ] N'name'

Der Name des Sammlungssatzes. @name ist "sysname" und muss einen Wert aufweisen, wenn @collection_set_id istNULL.

[ @new_name = ] N'new_name'

Der neue Name für den Sammlungssatz. @new_name ist "sysname" mit dem Standardwert "NULL, und kann bei Verwendung keine leere Zeichenfolge sein. @new_name muss eindeutig sein. Abfragen der syscollector_collection_sets Systemansicht für eine Liste der aktuellen Sammlungssatznamen.

[ @target = ] N'target'

Für die zukünftige Verwendung reserviert. @target ist nvarchar(128), mit einem Standardwert von NULL.

[ @collection_mode = ] collection_mode

Der Typ der zu verwendenden Datensammlung. @collection_mode ist klein und kann einen der folgenden Werte aufweisen:

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

  • 1: Nicht zwischengespeicherter Modus. 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 zwischengespeicherten Modus in den Cachemodus wechseln (0), müssen Sie auch @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 klein und muss eine positive ganze Zahl sein0.

[ @proxy_id = ] proxy_id

Der eindeutige Bezeichner für ein SQL Server-Agent Proxykonto. @proxy_id ist int.

[ @proxy_name = ] N'proxy_name'

Der Name des Proxys. @proxy_name ist "sysname" mit der Standardeinstellung "NULL.

[ @schedule_uid = ] 'schedule_uid'

Die GUID, die auf einen Zeitplan verweist. @schedule_uid ist eindeutiger Bezeichner mit einem Standardwert von NULL.

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

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

[ @schedule_name = ] N'schedule_name'

Der Name des Zeitplans. @schedule_name ist "sysname" mit der Standardeinstellung "NULL. Wenn angegeben, muss @schedule_uid sein NULL. Um @schedule_name abzurufen, fragen Sie die sysschedules Systemtabelle ab.

[ @logging_level = ] logging_level

Die Protokollierungsebene. @logging_level ist klein, mit einem 1Der folgenden Werte:

  • 0: Protokollieren von Ausführungsinformationen und SSIS-Ereignissen, die Folgendes verfolgen:

    • Starten/Beenden von Samlungssätzen
    • Starten/Beenden von Paketen
    • Fehlerinformationen
  • 1: Protokollierung der Ebene 0 und:

    • Ausführungsstatistiken
    • Kontinuierliche Ausführung der Sammlung
    • Warnungsereignisse von SSIS
  • 2: Protokollierung der Ebene 1 und detaillierte Ereignisinformationen von SSIS.

[ @description = ] N'description'

Die Beschreibung des Sammlungssatzes. @description ist nvarchar(4000), mit einem Standardwert von NULL.

Rückgabecodewerte

0 (erfolgreich) 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 einen Wert aufweisen, beide können nicht sein NULL. Um diese Werte abzurufen, fragen Sie die syscollector_collection_sets Systemansicht ab.

Wenn der Sammlungssatz ausgeführt wird, können Sie nur schedule_uid und Beschreibung aktualisieren. Verwenden Sie sp_syscollector_stop_collection_set, um den Sammlungssatz zu beenden.

Berechtigungen

Erfordert die Mitgliedschaft in der dc_admin oder der festen Datenbankrolle dc_operator (mit EXECUTE-Berechtigung), um dieses Verfahren auszuführen. Obwohl dc_operator diese gespeicherte Prozedur ausführen können, sind Member dieser Rolle in den Eigenschaften eingeschränkt, die sie ändern können. 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. Ändern des Sammlungsmodus von nicht zwischengespeichert in zwischengespeichert

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 anderer Sammlungssatzparameter

Im folgenden Beispiel werden verschiedene Eigenschaften des Auflistungssatzes mit dem Namen Simple collection set test 2aktualisiert.

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