Freigeben über


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

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_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 NULLeine 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 1Der 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 Ebene 0 und:

    • Ausführungsstatistiken
    • Kontinuierliche Ausführung der Sammlung
    • Warnungsereignisse von SSIS
  • 2: Ebenenprotokollierung 1 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