Freigeben über


sp_syscollector_create_collection_set (Transact-SQL)

Erstellt einen neuen Sammlungssatz. Sie können diese gespeicherte Prozedur verwenden, um einen benutzerdefinierten Sammlungssatz für die Datensammlung zu erstellen.

VorsichtshinweisVorsicht

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.

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen

Syntax

sp_syscollector_create_collection_set 
      [ @name = ] 'name'
    , [ [ @target = ] 'target' ]
    , [ [ @collection_mode = ] collection_mode ]
    , [ [ @days_until_expiration = ] days_until_expiration ]
    , [ [ @proxy_id = ] proxy_id ]
    , [ [ @proxy_name = ] 'proxy_name' ]
    , [ [ @schedule_uid = ] 'schedule_uid' ]
    , [ [ @schedule_name = ] 'schedule_name' ]
    , [ [ @logging_level = ] logging_level ]
    , [ [ @description = ] 'description' ]
    , [ @collection_set_id = ] collection_set_id OUTPUT 
    , [ [ @collection_set_uid = ] 'collection_set_uid' OUTPUT ]

Argumente

  • [ @name = ] 'name'
    Der Name des Sammlungssatzes. name ist vom Datentyp sysname und darf keine leere Zeichenfolge oder NULL sein.

    name muss eindeutig sein. Wenn Sie eine Liste der aktuellen Sammlungssatznamen abrufen möchten, fragen Sie die syscollector_collection_sets-Systemsicht ab.

  • [ @target = ] 'target'
    Zur künftigen Verwendung reserviert. name ist nvarchar(128). Der Standardwert ist NULL.

  • [ @collection\_mode = ] collection_mode
    Gibt die Art und Weise an, in der die Daten gesammelt und gespeichert werden. collection_mode ist smallint und kann einen der folgenden Werte aufweisen:

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

    1 - Modus ohne Zwischenspeicherung. 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.

    Der Standardwert für collection_mode ist 0. Wenn collection_mode den Wert 0 hat, muss 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 smallint. Der Standardwert ist 730 (zwei Jahre). days_until_expiration muss 0 oder eine positive ganze Zahl sein.

  • [ @proxy\_id = ] proxy_id
    Ist der eindeutige Bezeichner für ein SQL Server-Agent-Proxykonto. proxy_id ist int. Der Standardwert ist NULL. Wenn angegeben, muss proxy_name NULL sein. Um proxy_id abzurufen, fragen Sie die sysproxies-Systemtabelle ab. Die feste Datenbankrolle dc_admin muss über die Berechtigung für den Zugriff auf den Proxy verfügen. Weitere Informationen finden Sie unter Erstellen eines Proxys für den SQL Server-Agent.

  • [ @proxy\_name = ] 'proxy_name'
    Der Name des Proxykontos. proxy_name ist sysname. Der Standardwert ist NULL. Wenn angegeben, muss proxy_id NULL sein. Um proxy_name abzurufen, fragen Sie die sysproxies-Systemtabelle ab.

  • [ @schedule\_uid = ] 'schedule_uid'
    Entspricht dem GUID, der auf einen Zeitplan zeigt. schedule_uid ist uniqueidentifier. Der Standardwert ist NULL. Wenn angegeben, muss schedule_name NULL sein. Zum Abrufen von schedule_uid 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, wenn angegeben.

  • [ @schedule\_name = ] 'schedule_name'
    Der Name des Zeitplans. schedule_name ist sysname . Der Standardwert ist NULL. Wenn angegeben, muss schedule_uid NULL sein. Zum Abrufen von schedule_name fragen Sie die sysschedules-Systemtabelle ab.

  • [ @logging\_level = ] logging_level
    Entspricht dem Protokolliergrad. logging_level ist smallint und weist einen der folgenden Werte auf:

    0 – Informationen zur Protokollausführung und zu den SSIS-Ereignissen, die Folgendes nachverfolgen:

    • Starten/Beenden von Samlungssätzen

    • Starten/Beenden von Paketen

    • Fehlerinformationen

    1 - Protokollierung Stufe 0 und:

    • Ausführungsstatistiken

    • Kontinuierliche Ausführung der Sammlung

    • Warnungsereignisse von SSIS

    2 – Protokollierung Stufe 1 sowie ausführliche Ereignisinformationen von SSIS.

    Der Standardwert für logging_level ist 1.

  • [ @description = ] 'description'
    Die Beschreibung für den Sammlungssatz. description ist nvarchar(4000) . Der Standardwert ist NULL.

  • [ @collection\_set\_id = ] collection_set_id
    Der eindeutige lokale Bezeichner für den Sammlungssatz. collection_set_id ist int mit OUTPUT und ist erforderlich.

  • [ @collection\_set\_uid = ] 'collection_set_uid'
    GUID für den Sammlungssatz. collection_set_uid ist uniqueidentifier mit OUTPUT. Der Standardwert ist NULL.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Hinweise

sp_syscollector_create_collection_set muss im Kontext der msdb -Systemdatenbank ausgeführt werden.

Berechtigungen

Damit diese Prozedur ausgeführt werden kann, ist die Mitgliedschaft in der festen Datenbankrolle dc_admin (mit EXECUTE-Berechtigung) erforderlich.

Beispiele

A.Erstellen eines Sammlungssatzes mit Standardwerten

Im folgenden Beispiel wird ein Sammlungssatz erstellt, indem nur die erforderlichen Parameter angegeben werden. @collection\_mode ist nicht erforderlich, aber für den Standardauflistmodus (zwischengespeichert) muss eine Zeitplan-ID oder ein Zeitplanname angegeben werden.

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 eines Sammlungssatzes mit angegebenen Werten

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;

Siehe auch

Aufgaben

Erstellen eines benutzerdefinierten Sammlungssatzes, der einen generischen T-SQL-Abfragesammlertyp verwendet (Transact-SQL)

Verweis

Gespeicherte Prozeduren für den Datensammler (Transact-SQL)

syscollector_collection_sets (Transact-SQL)

Konzepte

Datensammlung