Freigeben über


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 Standard.

[ @collector_type_uid = ] 'collector_type_uid'

Die GUID, die den sammlungstyp identifiziert, der für dieses Element verwendet werden soll. @collector_type_uid ist eindeutiger Bezeichner ohne Standard. Fragen Sie für eine Liste der Sammeltypen die syscollector_collector_types Systemansicht ab.

[ @name = ] N'name'

Der Name des Auflistungselements. @name ist "sysname" und kann keine leere Zeichenfolge oder NULLeine leere Zeichenfolge sein.

@name muss eindeutig sein. Fragen Sie für eine Liste der aktuellen Auflistungselementnamen die syscollector_collection_items Systemansicht ab.

[ @frequency = ] Häufigkeit

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

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

[ @parameters = ] N'parameters'

Die Eingabeparameter für den Sammlertyp. @parameters ist XML, mit einem Standardwert von NULL. Das @parameters Schema muss mit dem Parameterschema des Sammeltyps ü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 (erfolgreich) oder 1 Fehler.

Hinweise

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 systemauflistungssätze nicht hinzugefügt werden.

Berechtigungen

Erfordert die Mitgliedschaft in der festen Datenbankrolle dc_admin (mit EXECUTE-Berechtigung), um dieses Verfahren auszuführen.

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. Führen Sie beispiel B in sp_syscollector_create_collection_set (Transact-SQL) aus, um den angegebenen Sammlungssatz zu erstellen.

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;