Share via


sp_syscollector_create_collection_item (Transact-SQL)

Gilt für:SQL Server

Erstellt ein Sammelelement in einem benutzerdefinierten Sammlungssatz. Ein Sammelelement definiert die zu sammelnden Daten und die Häufigkeit, mit der die Daten gesammelt werden.

Transact-SQL-Syntaxkonventionen

Syntax

sp_syscollector_create_collection_item
    [ @collection_set_id = ] collection_set_id
    , [ @collector_type_uid = ] 'collector_type_uid'
    , [ @name = ] N'name'
    [ , [ @frequency = ] frequency ]
    [ , [ @parameters = ] N'parameters' ]
    , [ @collection_item_id = ] collection_item_id OUTPUT
[ ; ]

Argumente

[ @collection_set_id = ] collection_set_id

Der eindeutige lokale Bezeichner für den Sammlungssatz. @collection_set_id ist int ohne Standardwert.

[ @collector_type_uid = ] 'collector_type_uid'

Die GUID, die den collector-Typ identifiziert, der für dieses Element verwendet werden soll. @collector_type_uid ist "uniqueidentifier" ohne Standardwert. Fragen Sie syscollector_collector_types die Systemansicht ab, um eine Liste von Collectortypen zu erstellen.

[ @name = ] N'name'

Der Name des Auflistungselements. @name ist sysname und darf keine leere Zeichenfolge oder NULLsein.

@name muss eindeutig sein. Fragen Sie die Systemansicht ab, syscollector_collection_items um eine Liste der aktuellen Auflistungselementnamen anzuzeigen.

[ @frequency = ] Häufigkeit

Wird verwendet, um (in Sekunden) anzugeben, wie häufig dieses Sammlungselement Daten sammelt. @frequency ist int mit dem Standardwert 5. Der minimale Wert, der angegeben werden kann, ist 5 Sekunden.

Wenn der Sammlungssatz auf den Modus ohne Zwischenspeicherung festgelegt ist, wird die Häufigkeit ignoriert, da dieser Modus bewirkt, dass sowohl die Datensammlung als auch der Upload zu dem für den Sammlungssatz angegebenen Zeitplan erfolgen. Um den Sammlungsmodus des Sammlungssatzes anzuzeigen, fragen Sie die syscollector_collection_sets -Systemsicht (Transact-SQL) ab.

[ @parameters = ] N'parameters'

Die Eingabeparameter für den Sammlertyp. @parameters ist xml mit dem Standardwert NULL. Das @parameters Schema muss mit dem Parameterschema des Collectortyps übereinstimmen.

[ @collection_item_id = ] collection_item_id OUTPUT

Der eindeutige Bezeichner, der das Sammlungssatzelement identifiziert. @collection_item_id ist ein OUTPUT-Parameter vom Typ int.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler).

Bemerkungen

sp_syscollector_create_collection_item muss im Kontext der msdb Systemdatenbank ausgeführt werden.

Der Sammlungssatz, dem das Sammelelement hinzugefügt wird, muss beendet werden, bevor das Sammelelement erstellt wird. Sammlungselemente können nicht zu Systemsammlungssätzen hinzugefügt werden.

Berechtigungen

Erfordert die Mitgliedschaft in der festen Datenbankrolle dc_admin (mit EXECUTE-Berechtigung), um dieses Verfahren ausführen zu können.

Beispiele

Im folgenden Beispiel wird ein Sammelelement auf Grundlage des Sammlungstyps Generic T-SQL Query Collector Type erstellt und dem Sammlungssatz Simple collection set test 2 hinzugefügt. Um den angegebenen Sammlungssatz zu erstellen, führen Sie Beispiel B in sp_syscollector_create_collection_set (Transact-SQL) aus.

USE msdb;
GO

DECLARE @collection_item_id INT;
DECLARE @collection_set_id INT = (
        SELECT collection_set_id
        FROM syscollector_collection_sets
        WHERE name = N'Simple collection set test 2');
DECLARE @collector_type_uid UNIQUEIDENTIFIER = (
        SELECT collector_type_uid
        FROM syscollector_collector_types
        WHERE name = N'Generic T-SQL Query Collector Type');
DECLARE @params XML = CONVERT(XML, N'\<ns:TSQLQueryCollector xmlns:ns="DataCollectorType">
            <Query>
                <Value>SELECT * FROM sys.objects</Value>
                <OutputTable>MyOutputTable</OutputTable>
            </Query>
            <Databases>
                <Database> UseSystemDatabases = "true"
                           UseUserDatabases = "true"
                </Database>
            </Databases>
         \</ns:TSQLQueryCollector>');

EXEC sp_syscollector_create_collection_item @collection_set_id = @collection_set_id,
    @collector_type_uid = @collector_type_uid,
    @name = 'My custom T-SQL query collector item',
    @frequency = 6000,
    @parameters = @params,
    @collection_item_id = @collection_item_id OUTPUT;

Siehe auch