sp_syscollector_update_collection_item (T-SQL)
Berlaku untuk: SQL Server
Digunakan untuk mengubah properti item koleksi yang ditentukan pengguna atau untuk mengganti nama item koleksi yang ditentukan pengguna.
Sintaks
sp_syscollector_update_collection_item
[ [ @collection_item_id = ] collection_item_id ]
[ , [ @name = ] N'name' ]
[ , [ @new_name = ] N'new_name' ]
[ , [ @frequency = ] frequency ]
[ , [ @parameters = ] N'parameters' ]
[ ; ]
Argumen
[ @collection_item_id = ] collection_item_id
Pengidentifikasi unik yang mengidentifikasi item koleksi. @collection_item_id int, dengan default NULL
. @collection_item_id harus memiliki nilai jika @name adalah NULL
.
[ @name = ] N'name'
Nama item koleksi. @name adalah sysname, dengan default NULL
. @name harus memiliki nilai jika @collection_item_id adalah NULL
.
[ @new_name = ] N'new_name'
Nama baru untuk item koleksi. @new_name adalah sysname, dengan default NULL
, dan jika digunakan, tidak boleh berupa string kosong.
@new_name harus unik. Untuk daftar nama item koleksi saat ini, kueri syscollector_collection_items
tampilan sistem.
[ @frequency = ] frekuensi
Frekuensi (dalam detik) data dikumpulkan oleh item koleksi ini. @frequency int, dengan default 5
, nilai minimum yang dapat ditentukan.
[ @parameters = ] N'parameters'
Parameter input untuk item koleksi. @parameters adalah xml, dengan default string kosong. Skema @parameters harus cocok dengan skema parameter jenis kolektor.
Mengembalikan nilai kode
0
(berhasil) atau 1
(kegagalan).
Keterangan
Jika kumpulan diatur ke mode non-cache, mengubah frekuensi diabaikan karena mode ini menyebabkan pengumpulan dan pengunggahan data terjadi pada jadwal yang ditentukan untuk kumpulan koleksi. Untuk menampilkan status kumpulan, jalankan kueri berikut. Ganti <collection_item_id>
dengan ID item koleksi yang akan diperbarui.
USE msdb;
GO
SELECT cs.collection_set_id,
collection_set_uid,
cs.name,
'is running' = CASE
WHEN is_running = 0
THEN 'No'
ELSE 'Yes'
END,
'cache mode' = CASE
WHEN collection_mode = 0
THEN 'Cached mode'
ELSE 'Non-cached mode'
END
FROM syscollector_collection_sets AS cs
INNER JOIN syscollector_collection_items AS ci
ON ci.collection_set_id = cs.collection_set_id
WHERE collection_item_id = < collection_item_id >;
GO
Izin
Memerlukan keanggotaan dalam peran database tetap dc_admin atau dc_operator (dengan izin EXECUTE) untuk menjalankan prosedur ini. Meskipun dc_operator dapat menjalankan prosedur tersimpan ini, anggota peran ini terbatas pada properti yang dapat mereka ubah. Properti berikut ini hanya dapat diubah dengan dc_admin:
- @new_name
- @parameters
Contoh
Contoh berikut didasarkan pada item koleksi yang dibuat dalam contoh yang ditentukan dalam sp_syscollector_create_collection_item.
J. Mengubah frekuensi pengumpulan
Contoh berikut mengubah frekuensi pengumpulan untuk item koleksi yang ditentukan.
USE msdb;
GO
EXEC sp_syscollector_update_collection_item
@name = N'My custom T-SQL query collector item',
@frequency = 3000;
GO
B. Mengganti nama item koleksi
Contoh berikut mengganti nama item koleksi.
USE msdb;
GO
EXEC sp_syscollector_update_collection_item
@name = N'My custom T-SQL query collector item',
@new_name = N'My modified T-SQL item';
GO
C. Mengubah parameter item koleksi
Contoh berikut mengubah parameter yang terkait dengan item koleksi. Pernyataan yang <Value>
ditentukan dalam atribut diubah dan UseSystemDatabases
atribut diatur ke false. Untuk menampilkan parameter saat ini untuk item ini, kueri kolom parameter dalam syscollector_collection_items
tampilan sistem. Anda mungkin perlu mengubah nilai untuk @collection_item_id.
USE msdb;
GO
EXEC sp_syscollector_update_collection_item
@collection_item_id = 9,
@parameters = '
<ns:TSQLQueryCollector xmlns:ns="DataCollectorType">
<Query>
<Value>SELECT * FROM sys.dm_db_index_usage_stats</Value>
<OutputTable>MyOutputTable</OutputTable>
</Query>
<Databases>
<Database> UseSystemDatabases = "false"
UseUserDatabases = "true"</Database>
</Databases>
</ns:TSQLQueryCollector>';
GO