sp_syscollector_create_collection_item (Transact-SQL)
ユーザー定義のコレクション セット内にコレクション アイテムを作成します。 コレクション アイテムでは、収集するデータとデータの収集頻度を定義します。
適用対象: SQL Server (SQL Server 2008 から現在のバージョンまで) |
構文
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;
関連項目
参照
システム ストアド プロシージャ (Transact-SQL)
sp_syscollector_update_collection_item (Transact-SQL)
sp_syscollector_delete_collection_item (Transact-SQL)
syscollector_collector_types (Transact-SQL)
sp_syscollector_create_collection_set (Transact-SQL)
syscollector_collection_items (Transact-SQL)