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.

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 kann keine leere Zeichenfolge oder NULL sein.

    name muss eindeutig sein. Wenn Sie eine Liste der aktuellen Namen von Sammlungssätzen abrufen möchten, fragen Sie die syscollector_collection_sets-Systemsicht ab.

  • [ @target = ] 'target'
    Reserviert für zukünftige Verwendung. name ist vom Datentyp nvarchar(128) und hat den Standardwert 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 haben:

    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, während der die gesammelten Daten im Verwaltungs-Data Warehouse gespeichert werden. days_until_expiration ist smallint mit dem Standardwert 730 (zwei Jahre). days_until_expiration muss 0 oder eine positive ganze Zahl sein.

  • [ @proxy_id = ] proxy_id
    Der eindeutige Bezeichner für ein SQL Server-Agent-Proxykonto. proxy_id ist int mit dem Standardwert 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 von SQL Server-Agent-Proxys.

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

  • [ @schedule_uid = ] 'schedule_uid'
    GUID, der auf einen Zeitplan zeigt. schedule_uid ist vom Typ uniqueidentifier mit dem Standardwert NULL. Wenn angegeben, muss schedule_name NULL sein. 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, wenn angegeben.

  • [ @schedule_name = ] 'schedule_name'
    Der Name des Zeitplans. schedule_name ist vom Datentyp sysname mit dem Standardwert NULL. Wenn angegeben, muss schedule_uid NULL sein. Um schedule_name abzurufen, fragen Sie die sysschedules-Systemtabelle ab.

  • [ @logging_level = ] logging_level
    Der Protokolliergrad. logging_level ist vom Datentyp smallint. Die folgenden Werte sind möglich:

    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 des Sammlungssatzes. description ist vom Datentyp nvarchar(4000) mit dem Standardwert NULL.

  • [ @collection_set_id = ] collection_set_id
    Der eindeutige lokale Bezeichner für den Sammlungssatz. collection_set_id ist vom Datentyp int mit OUTPUT und ist erforderlich.

  • [ @collection_set_uid = ] 'collection_set_uid'
    GUID für den Sammlungssatz. collection_set_uid ist vom Typ uniqueidentifier mit OUTPUT mit dem Standardwert 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 dieser Vorgang 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. Dabei werden lediglich die erforderlichen Parameter angegeben. @collection_mode ist nicht erforderlich, für den Standardsammlungsmodus (mit Zwischenspeicherung) muss jedoch entweder 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;