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 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, 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 , 1
mit 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 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
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für