sp_syscollector_update_collection_set (Transact-SQL)
ユーザー定義のコレクション セットのプロパティまたは名前の変更に使用されます。
注意 |
---|
プロキシとして構成されている Windows アカウントがまだログインしていない非対話型または対話型のユーザーの場合、プロファイル ディレクトリは存在せず、ステージング ディレクトリの作成は失敗します。 したがって、ドメイン コントローラーでプロキシ アカウントを使用している場合は、プロファイル ディレクトリが確実に作成されているようにするため、少なくとも 1 回は使用されている対話型アカウントを指定する必要があります。 |
構文
sp_syscollector_update_collection_set
[ [ @collection_set_id = ] collection_set_id ]
, [ [ @name = ] 'name' ]
, [ [ @new_name = ] 'new_name' ]
, [ [ @target = ] 'target' ]
, [ [ @collection_mode = ] collection_mode ]
, [ [ @days_until_expiration = ] days_until_expiration ]
, [ [ @proxy_id = ] proxy_id ]
, [ [ @proxy_name = ] 'proxy_name' ]
,[ [ @schedule_uid = ] 'schedule_uid' ]
,[ [ @schedule_name = ] 'schedule_uid' ]
, [ [ @logging_level = ] logging_level ]
, [ [ @description = ] 'description' ]
引数
[ @collection\_set\_id = ] collection_set_id
コレクション セットの一意なローカル識別子を指定します。 collection_set_id のデータ型は int で、name が NULL の場合は値が必須です。[ @name = ] 'name'
コレクション セットの名前です。 name のデータ型は sysname で、collection_set_id が NULL の場合は値が必須です。[ @new\_name = ] 'new_name'
コレクション セットの新しい名前です。 new_name のデータ型は sysname で、使用する場合は空の文字列は許可されません。 new_name は一意である必要があります。 現在のコレクション セットの名前の一覧については、syscollector_collection_sets システム ビューに対してクエリを実行します。[ @target = ] 'target'
将来の使用のために予約されています。[ @collection\_mode = ] collection_mode
使用するデータ コレクションの種類です。 collection_mode のデータ型は smallint で、次のいずれかの値を指定できます。0 - キャッシュ モード。 データの収集とアップロードは個別のスケジュールに従います。 連続コレクションのキャッシュ モードを指定します。
1 - 非キャッシュ モード。 データの収集とアップロードは同じスケジュールに従います。 アドホック コレクションまたはスナップショット コレクションの非キャッシュ モードを指定します。
非キャッシュ モードからキャッシュ モード (0) に変更する場合、schedule_uid または schedule_name のいずれかも指定する必要があります。
[ @days\_until\_expiration= ] days_until_expiration
収集したデータを管理データ ウェアハウスに保管しておく日数です。 days_until_expiration のデータ型は smallint です。 days_until_expiration には、0 または正の整数を指定する必要があります。[ @proxy\_id = ] proxy_id
SQL Server エージェント プロキシ アカウントの一意の識別子です。 proxy_id のデータ型は int です。[ @proxy\_name = ] 'proxy_name'
プロキシの名前です。 proxy_name のデータ型は sysname で、NULL 値を使用できます。[ @schedule\_uid = ] 'schedule_uid'
スケジュールを参照する GUID です。 schedule_uid のデータ型は uniqueidentifier です。schedule_uid を取得するには、sysschedules システム テーブルに対してクエリを実行します。
collection_mode を 0 に設定する場合は、schedule_uid または schedule_name を指定する必要があります。 collection_mode を 1 に設定する場合は、schedule_uid または schedule_name を指定しても無視されます。
[ @schedule\_name = ] 'schedule_name'
スケジュールの名前です。 schedule_name のデータ型は sysname で、NULL 値を使用できます。 指定する場合、schedule_uid は NULL にする必要があります。 schedule_name を取得するには、sysschedules システム テーブルに対してクエリを実行します。[ @logging\_level = ] logging_level
ログ レベルです。 logging_level のデータ型は smallint で、次のいずれかの値です。0 - 実行情報および追跡対象の SSIS イベントをログに記録します。
コレクション セットの開始/停止
パッケージの開始/停止
エラー情報
1 - レベル 0 の情報に加えて、以下の情報をログに記録します。
実行の統計
継続的に実行されているコレクションの進行状況
SSIS からの警告イベント
2 – レベル 1 の情報に加えて、SSIS からの詳細なイベント情報をログに記録します。
logging_level の既定値は 1 です。
[ @description = ] 'description'
コレクション セットの説明です。 description のデータ型は nvarchar(4000) です。
リターン コードの値
0 (成功) または 1 (失敗)
説明
sp_syscollector_update_collection_set は、msdb システム データベースのコンテキストで実行する必要があります。
collection_set_id または name のいずれかを指定する必要があります。両方を NULL にすることはできません。 これらの値を取得するには、syscollector_collection_sets システム ビューに対してクエリを実行します。
コレクション セットが実行されている場合は、schedule_uid と description だけを更新できます。 コレクション セットを停止するには、sp_syscollector_stop_collection_set を使用します。
権限
このプロシージャを実行するには、dc_admin 固定データベース ロールまたは (EXECUTE 権限を持つ) dc_operator 固定データベース ロールのメンバーシップが必要です。 dc_operator ロールのメンバーがこのストアド プロシージャで更新できるのは、その権限で変更できるプロパティに限られます。 次のプロパティについては、dc_admin のみ変更できます。
@new\_name
@target
@proxy\_id
@description
@collection\_mode
@days\_until\_expiration
使用例
A. コレクション セットの名前を変更する
次の例では、ユーザー定義のコレクション セットの名前を変更します。
USE msdb;
GO
EXECUTE dbo.sp_syscollector_update_collection_set
@name = N'Simple collection set test 1',
@new_name = N'Collection set test 1 in cached mode';
GO
B. コレクション モードを非キャッシュからキャッシュに変更する
次の例では、コレクション モードを非キャッシュ モードからキャッシュ モードに変更します。 コレクション モードの変更には、スケジュール ID またはスケジュール名を指定する必要があります。
USE msdb;
GO
EXECUTE dbo.sp_syscollector_update_collection_set
@name = N'Collection set test 1 in cached mode',
@collection_mode = 0,
@schedule_uid = 'C7022AF3-51B8-4011-B159-64C47C88FF70';
-- alternatively, use @schedule_name.
-- @schedule_name = N'CollectorSchedule_Every_15min;
GO
C. その他のコレクション セットのパラメーターを変更する
次の例では、"Simple collection set test 2" という名前のコレクション セットのさまざまなプロパティを更新します。
USE msdb;
GO
EXEC dbo.sp_syscollector_update_collection_set
@name = N'Simple collection set test 2',
@collection_mode = 1,
@days_until_expiration = 5,
@description = N'This is a test collection set that runs in noncached mode.',
@logging_level = 0;
GO
関連項目
参照
システム ストアド プロシージャ (Transact-SQL)
syscollector_collection_sets (Transact-SQL)
dbo.sysschedules (Transact-SQL)