sp_syscollector_create_collection_item (Transact-SQL)

Gäller för:SQL Server

Skapar ett samlingsobjekt i en användardefinierad samlingsuppsättning. En samlingspost definierar vilken data som ska samlas in och hur ofta den samlas in.

Transact-SQL syntaxkonventioner

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

Den unika lokala identifieraren för samlingsmängden. @collection_set_id är int, utan standard.

[ @collector_type_uid = ] 'collector_type_uid'

GUID:n som identifierar vilken samlartyp som ska användas för detta föremål. @collector_type_uid är unik identifierare, utan standard. För en lista över samlartyper, fråga i systemvyn syscollector_collector_types .

[ @name = ] N'namn'

Namnet på samlingsobjektet. @name är sysname och kan inte vara en tom sträng eller NULL.

@name måste vara unik. För en lista över aktuella samlingsobjektsnamn, sök i systemvyn syscollector_collection_items .

[ @frequency = ] frekvens

Används för att specificera (på sekunder) hur ofta denna samlingspost samlar in data. @frequency är int, med standardvärdet .5 Det minsta värdet som kan anges är 5 sekunder.

Om samlingsuppsättningen är inställd på icke-cachad läge ignoreras frekvensen, eftersom detta läge gör att både datainsamling och uppladdning sker enligt det schema som anges för samlingsuppsättningen. För att se samlingsläget för samlingsuppsättningen, fråga i syscollector_collection_sets systemvy.

[ @parameters = ] N'parametrar'

Indataparametrarna för kollektortypen. @parameters är xml, med standardvärdet .NULL Det @parameters schemat måste matcha parametrarna för samlartypen.

[ @collection_item_id = ] collection_item_id UTGÅNG

Den unika identifieraren som identifierar samlingsobjektet. @collection_item_id är en OUTPUT parameter av typen int.

Returnera kodvärden

0 (lyckades) eller 1 (fel).

Remarks

sp_syscollector_create_collection_item måste köras i kontexten av systemdatabasen msdb .

Samlingsinställningen som samlingsobjektet läggs till måste stoppas innan samlingsobjektet skapas. Samlingsobjekt kan inte läggas till i systemsamlingsset.

Permissions

Kräver medlemskap i den dc_admin (med EXEKUT-behörighet) fasta databasrollen för att utföra denna procedur.

Exempel

Följande exempel skapar ett samlingsobjekt baserat på samlingstypen Generic T-SQL Query Collector Type och lägger till det i samlingsmängden som heter Simple collection set test 2. För att skapa den angivna samlingsuppsättningen, kör exempel B i 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;