sp_syscollector_create_collection_item (T-SQL)

Berlaku untuk:SQL Server

Membuat item koleksi dalam kumpulan koleksi yang ditentukan pengguna. Item koleksi menentukan data yang akan dikumpulkan dan frekuensi pengumpulan data.

Konvensi sintaks transact-SQL

Sintaks

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

Argumen

[ @collection_set_id = ] collection_set_id

Pengidentifikasi lokal unik untuk kumpulan koleksi. @collection_set_id int, tanpa default.

[ @collector_type_uid = ] 'collector_type_uid'

GUID yang mengidentifikasi jenis kolektor yang akan digunakan untuk item ini. @collector_type_uid adalah uniqueidentifier, tanpa default. Untuk daftar jenis kolektor, kueri syscollector_collector_types tampilan sistem.

[ @name = ] N'name'

Nama item koleksi. @name adalah sysname dan tidak boleh berupa string kosong atau NULL.

@name harus unik. Untuk daftar nama item koleksi saat ini, kueri syscollector_collection_items tampilan sistem.

[ @frequency = ] frekuensi

Digunakan untuk menentukan (dalam detik) seberapa sering item koleksi ini mengumpulkan data. @frequency int, dengan default 5. Nilai minimum yang dapat ditentukan adalah 5 detik.

Jika kumpulan diatur ke mode non-cache, frekuensi diabaikan, karena mode ini menyebabkan pengumpulan dan pengunggahan data terjadi pada jadwal yang ditentukan untuk kumpulan. Untuk melihat mode pengumpulan kumpulan, kueri tampilan sistem syscollector_collection_sets (Transact-SQL).

[ @parameters = ] N'parameters'

Parameter input untuk jenis kolektor. @parameters adalah xml, dengan default NULL. Skema @parameters harus cocok dengan skema parameter jenis kolektor.

[ @collection_item_id = ] collection_item_id OUTPUT

Pengidentifikasi unik yang mengidentifikasi item kumpulan koleksi. @collection_item_id adalah parameter OUTPUT dari jenis int.

Mengembalikan nilai kode

0 (berhasil) atau 1 (kegagalan).

Keterangan

sp_syscollector_create_collection_item harus dijalankan dalam konteks msdb database sistem.

Kumpulan yang diatur ke mana item koleksi ditambahkan harus dihentikan sebelum membuat item koleksi. Item koleksi tidak dapat ditambahkan ke kumpulan kumpulan sistem.

Izin

Memerlukan keanggotaan dalam peran database tetap dc_admin (dengan izin EXECUTE) untuk menjalankan prosedur ini.

Contoh

Contoh berikut membuat item koleksi berdasarkan jenis Generic T-SQL Query Collector Type koleksi dan menambahkannya ke kumpulan koleksi bernama Simple collection set test 2. Untuk membuat kumpulan koleksi yang ditentukan, jalankan contoh B di sp_syscollector_create_collection_set (Transact-SQL).

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;