Freigeben über


sp_syscollector_create_collection_item (Transact-SQL)

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

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

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

Argumente

  • [ @collection\_set\_id = ] collection_set_id
    Der eindeutige lokale Bezeichner für den Auflistsatz. collection_set_id ist vom Datentyp int.

  • [ @collector\_type\_uid = ] 'collector_type_uid'
    GUID, der den Auflistertyp angibt, der für dieses Element verwendet werden soll. collector_type_uid ist uniqueidentifier ohne Standardwert. Um eine Liste von Auflistertypen zu erhalten, fragen Sie die syscollector_collector_types-Systemsicht ab.

  • [ @name = ] 'name'
    Der Name des Auflistelements. 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 Auflistelementen abrufen möchten, fragen Sie die syscollector_collection_items-Systemsicht ab.

  • [ @frequency = ] frequency
    Mithilfe dieses Parameters wird (in Sekunden) angegeben, wie häufig Daten durch dieses Auflistelement aufgezeichnet werden. frequency ist vom Datentyp int und hat den Standardwert 5. Der minimale Wert, der angegeben werden kann, ist 5 Sekunden.

    Wenn der Auflistsatz auf den Modus ohne Zwischenspeicherung festgelegt ist, wird die Häufigkeit ignoriert, da dieser Modus bewirkt, dass sowohl die Datenauflistung als auch der Datenupload dem Zeitplan entsprechend stattfinden, der für den Auflistsatz angegeben wurde. Um den Auflistmodus des Auflistsatzes anzuzeigen, fragen Sie die syscollector_collection_sets-Systemsicht ab.

  • [ @parameters = ] 'parameters'
    Die Eingabeparameter für den Auflistertyp. parameters ist xml mit dem Standardwert NULL. Das parameters-Schema muss dem Schema für Parameter des Auflistertyps entsprechen.

  • [ @collection\_item\_id = ] collection_item_id
    Der eindeutige Bezeichner, der das Auflistsatzelement identifiziert. collection_item_id ist vom Datentyp int und erzeugt OUTPUT.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Hinweise

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

Der Auflistsatz, dem das Auflistelement hinzugefügt wird, muss beendet werden, bevor das Auflistelement erstellt wird. Systemauflistsätzen können keine Auflistelemente hinzugefügt werden.

Berechtigungen

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

Beispiele

Im folgenden Beispiel wird ein Auflistsatz auf Grundlage des Auflistungstyps Generic T-SQL Query Collector Type erstellt und dem Auflistsatz Simple collection set test 2 hinzugefügt. Um den angegebenen Auflistsatz 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 TSQL query collector item',
    @frequency = 6000,
    @parameters = @params,
    @collection_item_id = @collection_item_id OUTPUT;