sp_syscollector_create_collection_set (Transact-SQL)
Gilt für: SQL Server
Erstellt einen neuen Sammlungssatz. Sie können diese gespeicherte Prozedur verwenden, um einen benutzerdefinierten Sammlungssatz für die Datensammlung zu erstellen.
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_create_collection_set
[ @name = ] N'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' ]
, [ @collection_set_id = ] collection_set_id OUTPUT
[ , [ @collection_set_uid = ] 'collection_set_uid' OUTPUT ]
[ ; ]
Argumente
[ @name = ] N'name'
Der Name des Sammlungssatzes. @name ist "sysname" und kann keine leere Zeichenfolge oder NULL
eine leere Zeichenfolge sein.
@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
@collection_mode ist klein, mit einem Standardwert von 0
.
Gibt die Art und Weise an, in der die Daten gesammelt und gespeichert werden. @collection_mode ist klein, mit einem Standardwert von 0
, 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 @collection_mode ist 0
, müssen @schedule_uid oder @schedule_name angegeben werden.
[ @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, mit einem Standardwert von 730
(zwei Jahren). @days_until_expiration muss eine positive ganze Zahl oder eine positive ganze Zahl sein0
.
[ @proxy_id = ] proxy_id
Der eindeutige Bezeichner für ein SQL Server-Agent Proxykonto. @proxy_id ist int mit einem Standardwert von NULL
. Wenn angegeben, muss @proxy_name sein NULL
. Um @proxy_id abzurufen, fragen Sie die sysproxies
Systemtabelle ab. Die dc_admin feste Datenbankrolle muss über die Berechtigung zum Zugriff auf den Proxy verfügen. Weitere Informationen finden Sie unter Erstellen eines SQL Server-Agent Proxys.
[ @proxy_name = ] N'proxy_name'
Der Name des Proxykontos. @proxy_name ist "sysname" mit der Standardeinstellung "NULL
. Wenn angegeben, muss @proxy_id sein NULL
. Um @proxy_name abzurufen, fragen Sie die sysproxies
Systemtabelle ab.
[ @schedule_uid = ] 'schedule_uid'
Die GUID, die auf einen Zeitplan verweist. @schedule_uid ist eindeutiger Bezeichner mit einem Standardwert von NULL
. Wenn angegeben, muss @schedule_name sein 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 auf Ebene0
und:- Ausführungsstatistiken
- Kontinuierliche Ausführung der Sammlung
- Warnungsereignisse von SSIS
2
: Ebenenprotokollierung1
und detaillierte Ereignisinformationen von SSIS.
[ @description = ] N'description'
Die Beschreibung des Sammlungssatzes. @description ist nvarchar(4000), mit einem Standardwert von NULL
.
[ @collection_set_id = ] collection_set_id OUTPUT
Der eindeutige lokale Bezeichner für den Sammlungssatz. @collection_set_id ist ein AUSGABEparameter vom Typ int.
[ @collection_set_uid = ] 'collection_set_uid' OUTPUT
Die GUID für den Sammlungssatz. @collection_set_uid ist ein OUTPUT-Parameter vom Typ "UniqueIdentifier".
Rückgabecodewerte
0
(erfolgreich) oder 1
Fehler.
Hinweise
sp_syscollector_create_collection_set
muss im Kontext der msdb
Systemdatenbank ausgeführt werden.
Berechtigungen
Erfordert die Mitgliedschaft in der festen Datenbankrolle dc_admin (mit EXECUTE-Berechtigung), um dieses Verfahren auszuführen.
Beispiele
A. Erstellen einer Sammlung, die mithilfe von Standardwerten festgelegt wird
Im folgenden Beispiel wird ein Sammlungssatz erstellt, indem nur die erforderlichen Parameter angegeben werden. @collection_mode ist nicht erforderlich, aber der Standardsammlungsmodus (zwischengespeichert) erfordert entweder eine Zeitplan-ID oder einen Zeitplannamen.
USE msdb;
GO
DECLARE @collection_set_id INT;
EXECUTE dbo.sp_syscollector_create_collection_set
@name = N'Simple collection set test 1',
@description = N'This is a test collection set that runs in non-cached mode.',
@collection_mode = 1,
@collection_set_id = @collection_set_id OUTPUT;
GO
B. Erstellen einer Sammlung, die mithilfe von angegebenen Werten festgelegt wird
Im folgenden Beispiel wird ein Sammlungssatz erstellt, indem Werte für mehrere Parameter angegeben werden.
USE msdb;
GO
DECLARE @collection_set_id INT;
DECLARE @collection_set_uid UNIQUEIDENTIFIER;
SET @collection_set_uid = NEWID();
EXEC dbo.sp_syscollector_create_collection_set
@name = N'Simple collection set test 2',
@collection_mode = 0,
@days_until_expiration = 365,
@description = N'This is a test collection set that runs in cached mode.',
@logging_level = 2,
@schedule_name = N'CollectorSchedule_Every_30min',
@collection_set_id = @collection_set_id OUTPUT,
@collection_set_uid = @collection_set_uid OUTPUT;
GO