sp_syscollector_create_collection_item (Transact-SQL)

Van toepassing op:SQL Server

Maakt een collectie-item aan in een door de gebruiker gedefinieerde verzameling. Een verzamelobject definieert de te verzamelen gegevens en de frequentie waarmee de gegevens worden verzameld.

Transact-SQL syntaxis-conventies

Syntax

dbo.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
[ ; ]

Arguments

[ @collection_set_id = ] collection_set_id

De unieke lokale identificatie voor de verzamelingsset. @collection_set_id is int, zonder standaard.

[ @collector_type_uid = ] 'collector_type_uid'

De GUID die het type verzamelaar identificeert dat voor dit item gebruikt moet worden. @collector_type_uid is uniqueidentifier, zonder standaard. Voor een lijst van collector-typen, raadpleeg de syscollector_collector_types systeemweergave.

[ @name = ] Naamloos

De naam van het collectieobject. @name is sysname en kan geen lege string of NULL. zijn.

@name moet uniek zijn. Voor een lijst van huidige namen van collectieitems, raadpleeg de syscollector_collection_items systeemweergave.

[ @frequency = ] frequentie

Gebruikt om (in seconden) aan te geven hoe vaak dit verzamelobject data verzamelt. @frequency is int, met als standaard .5 De minimale waarde die kan worden gespecificeerd is 5 seconden.

Als de verzamelingsset op niet-gecachede modus is gezet, wordt de frequentie genegeerd, omdat deze modus ervoor zorgt dat zowel gegevensverzameling als upload plaatsvinden op het voor de verzameling gespecificeerde planning. Om de verzamelmodus van de verzameling te bekijken, raadpleeg de syscollector_collection_sets systeemweergave.

[ @parameters = ] N'parameters'

De invoerparameters voor het type collector. @parameters is xml, met als standaard .NULL Het @parameters schema moet overeenkomen met het parameters schema van het collector-type.

[ @collection_item_id = ] collection_item_id OUTPUT

De unieke identificatie die het verzamelobject. @collection_item_id is een OUTPUT parameter van type int.

Codewaarden retourneren

0 (geslaagd) of 1 (mislukt).

Remarks

sp_syscollector_create_collection_item moet worden uitgevoerd in de context van de msdb systeemdatabase.

De verzamelingsset waaraan het verzamelobject wordt toegevoegd, moet worden gestopt voordat het verzamelobject wordt aangemaakt. Verzamelitems kunnen niet worden toegevoegd aan systeemverzamelingen.

Permissions

Vereist lidmaatschap van de vaste databaserol van de dc_admin (met uitvoerbare toestemming) om deze procedure uit te voeren.

Examples

Het volgende voorbeeld maakt een verzamelobject aan op basis van het verzamelingstype Generic T-SQL Query Collector Type en voegt dit toe aan de verzamelingsset genaamd Simple collection set test 2. Om de gespecificeerde verzamelingsset te maken, voer je voorbeeld B uit in sp_syscollector_create_collection_set.

USE msdb;
GO

DECLARE @collection_item_id AS INT;

DECLARE @collection_set_id AS INT = (SELECT collection_set_id
                                     FROM syscollector_collection_sets
                                     WHERE name = N'Simple collection set test 2');

DECLARE @collector_type_uid AS UNIQUEIDENTIFIER = (SELECT collector_type_uid
                                                   FROM syscollector_collector_types
                                                   WHERE name = N'Generic T-SQL Query Collector Type');

DECLARE @params AS 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>');

EXECUTE 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;