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
In Fällen, in denen das als Proxy konfigurierte Windows-Konto ein nicht interaktiver oder interaktiver Benutzer ist, der noch nicht angemeldet ist, ist das Profilverzeichnis nicht vorhanden, und die Erstellung des Stagingverzeichnisses schlägt fehl. Wenn Sie daher ein Proxykonto auf einem Domänencontroller verwenden, müssen Sie ein interaktives Konto angeben, das mindestens einmal verwendet wurde, um sicherzustellen, 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 1
Der 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 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