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 ist NULL.

[ @name = ] N'name'

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

[ @new_name = ] N'new_name'

Der neue Name für den Auflistungssatz. @new_name ist sysname mit dem Standardwert NULL, und kann bei Verwendung keine leere Zeichenfolge sein. @new_name muss eindeutig sein. Um eine Liste der aktuellen Auflistungssatznamen anzuzeigen, fragen Sie die syscollector_collection_sets Systemansicht ab.

[ @target = ] N'target'

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

[ @collection_mode = ] collection_mode

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

  • 0: Zwischengespeicherter 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 vom nicht zwischengespeicherten Modus in den Cachemodus (0) wechseln, 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 smallint und muss eine positive ganze Zahl sein 0 .

[ @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, wobei der Standardwert lautet NULL.

[ @schedule_uid = ] 'schedule_uid'

Die GUID, die auf einen Zeitplan verweist. @schedule_uid ist uniqueidentifier, wobei der Standardwert lautet NULL.

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

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

[ @schedule_name = ] N'schedule_name'

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

[ @logging_level = ] logging_level

Der Protokolliergrad. @logging_level ist smallint mit dem Standardwert , 1mit einem der folgenden Werte:

  • 0: Protokollieren Sie Ausführungsinformationen und SSIS-Ereignisse, die Folgendes nachverfolgen:

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

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

[ @description = ] N'description'

Die Beschreibung des Auflistungssatzes. @description ist nvarchar(4000) mit dem Standardwert NULL.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler).

Bemerkungen

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

Entweder collection_set_id oder name muss einen Wert haben, 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. 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 dc_operator diese gespeicherte Prozedur ausführen können, sind Mitglieder 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

Siehe auch