次の方法で共有


sp_syscollector_update_collection_item (Transact-SQL)

ユーザー定義のコレクション アイテムのプロパティまたは名前の変更に使用されます。

トピック リンク アイコン Transact-SQL 構文表記規則

構文

sp_syscollector_update_collection_item 
      [ [ @collection_item_id = ] collection_item_id ]
    , [ [ @name = ] 'name' ]
    , [ [ @new_name = ] 'new_name' ]
    , [ [ @frequency = ] frequency ]
    , [ [ @parameters = ] 'parameters' ]

引数

  • [ @collection\_item\_id = ] collection_item_id
    コレクション アイテムを識別する一意な識別子を指定します。 collection_item_id のデータ型は int で、既定値は NULL です。 name が NULL の場合は必ず collection_item_id の値を指定する必要があります。

  • [ @name = ] 'name'
    コレクション アイテムの名前を指定します。 name のデータ型は sysname で、既定値は NULL です。 collection_item_id が NULL の場合は必ず name の値を指定する必要があります。

  • [ @new\_name = ] 'new_name'
    コレクション アイテムの新しい名前を指定します。 new_name のデータ型は sysname で、使用する場合は空の文字列は許可されません。

    new_name は一意である必要があります。 現在のコレクション アイテムの名前の一覧については、syscollector_collection_items システム ビューに対してクエリを実行します。

  • [ @frequency = ] frequency
    このコレクション アイテムによってデータを収集する頻度を秒単位で指定します。 frequency のデータ型は int で、既定値は 5 (指定できる最小値) です。

  • [ @parameters = ] 'parameters'
    コレクション アイテムの入力パラメーターを指定します。 parameters のデータ型は xml で、既定値は NULL です。 parameters スキーマはコレクター型のパラメーター スキーマと一致する必要があります。

リターン コード値

0 (成功) または 1 (失敗)

説明

コレクション セットが非キャッシュ モードに設定されている場合、このモードではコレクション セットに指定されたスケジュールでデータ収集とアップロードが行われるため、頻度を変更しても無視されます。 コレクション セットの状態を表示するには、次のクエリを実行します。 <collection_item_id> は、更新するコレクション アイテムの ID に置き換えてください。

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
JOIN syscollector_collection_items AS ci 
ON ci.collection_set_id = cs.collection_set_id
WHERE collection_item_id = <collection_item_id>;

権限

このプロシージャを実行するには、dc_admin 固定データベース ロールまたは (EXECUTE 権限を持つ) dc_operator 固定データベース ロールのメンバーシップが必要です。 dc_operator ロールのメンバーがこのストアド プロシージャで更新できるのは、その権限で変更できるプロパティに限られます。 次のプロパティについては、dc_admin のみ変更できます。

  • @new\_name

  • @parameters

使用例

次の例は、sp_syscollector_create_collection_item (Transact-SQL) の例で作成したコレクション アイテムに基づいています。

A. 収集頻度を変更する

次の例では、指定したコレクション アイテムの収集頻度を変更します。

USE msdb;
GO
EXEC sp_syscollector_update_collection_item 
@name = N'My custom TSQL query collector item',
@frequency = 3000;
GO

B. コレクション アイテムの名前を変更する

次の例では、コレクション アイテムの名前を変更します。

USE msdb;
GO
EXEC sp_syscollector_update_collection_item 
@name = N'My custom TSQL query collector item',
@new_name = N'My modified TSQL item';
GO

C. コレクション アイテムのパラメーターを変更する

次の例では、コレクション アイテムに関連付けられているパラメーターを変更します。 <Value> 属性内で定義されているステートメントを変更し、UseSystemDatabases 属性を false に設定します。 このアイテムの現在のパラメーターを表示するには、syscollector_collection_items システム ビューの parameters 列に対してクエリを実行します。 @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

関連項目

参照

システム ストアド プロシージャ (Transact-SQL)

sp_syscollector_create_collection_item (Transact-SQL)

syscollector_collection_items (Transact-SQL)

概念

データ コレクション