sp_syscollector_create_collection_item (Transact-SQL)
ユーザー定義のコレクション セット内にコレクション アイテムを作成します。コレクション アイテムでは、収集するデータとデータの収集頻度を定義します。
構文
sp_syscollector_create_collection_item
[ @collection_set_id = ] collection_set_id
, [ @collector_type_uid = ] 'collector_type_uid'
, [ @name = ] 'name'
, [ [ @frequency = ] frequency ]
, [ @parameters = ] 'parameters'
, [ @collection_item_id = ] collection_item_id OUTPUT
引数
[ @collection_set_id = ] collection_set_id
コレクション セットの一意なローカル識別子を指定します。collection_set_id のデータ型は int です。[ @collector_type_uid = ] 'collector_type_uid'
この項目に使用するコレクター型を識別する GUID を指定します。collector_type_uid のデータ型は uniqueidentifier で、既定値はありません。コレクター型の一覧については、syscollector_collector_types システム ビューにクエリを実行します。[ @name = ] 'name'
コレクション アイテムの名前を指定します。name のデータ型は sysname で、空の文字列または NULL を指定できません。name は一意である必要があります。現在のコレクション アイテムの名前の一覧については、syscollector_collection_items システム ビューにクエリを実行します。
[ @frequency = ] frequency
このコレクション アイテムによってデータを収集する頻度を秒単位で指定します。frequency のデータ型は int で、既定値は 5 です。指定できる最小値は 5 秒です。コレクション セットが非キャッシュ モードに設定されている場合、このモードではコレクション セットに指定されたスケジュールでデータ収集とアップロードが行われるため、頻度は無視されます。コレクション セットのコレクション モードを表示するには、syscollector_collection_sets システム ビューにクエリを実行します。
[ @parameters = ] 'parameters'
コレクター型の入力パラメーターを指定します。parameters のデータ型は xml で、既定値は NULL です。parameters スキーマはコレクター型のパラメーター スキーマと一致する必要があります。[ @collection_item_id = ] collection_item_id
コレクション セット項目を識別する一意な識別子を指定します。collection_item_id のデータ型は int で、OUTPUT を持ちます。
リターン コード値
0 (成功) または 1 (失敗)
説明
sp_syscollector_create_collection_item は、msdb システム データベースのコンテキストで実行する必要があります。
コレクション アイテムを追加するコレクション セットは、コレクション アイテムを作成する前に停止する必要があります。コレクション アイテムは、システム コレクション セットには追加できません。
権限
このプロシージャを実行するには、(EXECUTE 権限を持つ) dc_admin 固定データベース ロールのメンバーシップが必要です。
例
次の例では、コレクション型 Generic T-SQL Query Collector Type に基づくコレクション アイテムを作成し、そのコレクション アイテムを Simple collection set test 2 という名前のコレクション セットに追加します。指定したコレクション セットを作成するには、sp_syscollector_create_collection_set (Transact-SQL) の例 B を実行します。
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 TSQL query collector item',
@frequency = 6000,
@parameters = @params,
@collection_item_id = @collection_item_id OUTPUT;
関連項目