sp_syscollector_update_collection_set (Transact-SQL)
適用対象: SQL Server
ユーザー定義コレクション セットのプロパティを変更したり、ユーザー定義コレクション セットの名前を変更したりするために使用します。
警告
プロキシとして構成された Windows アカウントが、まだログインしていない非対話型ユーザーまたは対話型ユーザーである場合、プロファイル ディレクトリは存在せず、ステージング ディレクトリの作成は失敗します。 そのため、ドメイン コントローラーでプロキシ アカウントを使用している場合は、プロファイル ディレクトリが作成されたことを確認するために、少なくとも 1 回使用された対話型アカウントを指定する必要があります。
構文
sp_syscollector_update_collection_set
[ [ @collection_set_id = ] collection_set_id ]
[ , [ @name = ] N'name' ]
[ , [ @new_name = ] N'new_name' ]
[ , [ @target = ] N'target' ]
[ , [ @collection_mode = ] collection_mode ]
[ , [ @days_until_expiration = ] days_until_expiration ]
[ , [ @proxy_id = ] proxy_id ]
[ , [ @proxy_name = ] N'proxy_name' ]
[ , [ @schedule_uid = ] 'schedule_uid' ]
[ , [ @schedule_name = ] N'schedule_name' ]
[ , [ @logging_level = ] logging_level ]
[ , [ @description = ] N'description' ]
[ ; ]
引数
[ @collection_set_id = ] collection_set_id
コレクション セットの一意のローカル識別子。 @collection_set_id は int であり、 @name が NULL
場合は値が必要です。
[ @name = ] N'name'
コレクション セットの名前。 @name は sysname であり、 @collection_set_id が NULL
場合は値を持つ必要があります。
[ @new_name = ] N'new_name'
コレクション セットの新しい名前。 @new_name は sysname で、既定値は NULL
で、使用する場合は空の文字列にすることはできません。 @new_name は一意である必要があります。 現在のコレクション セット名の一覧については、 syscollector_collection_sets
システム ビューに対してクエリを実行します。
[ @target = ] N'target'
将来の使用のために予約済み。 @target は nvarchar(128) で、既定値は NULL
です。
[ @collection_mode = ] collection_mode
使用するデータ収集の種類。 @collection_mode は smallint であり、次のいずれかの値を持つことができます。
0
: キャッシュ モード。 データの収集とアップロードは別々のスケジュールで行われます。 連続コレクションのキャッシュ モードを指定します。1
: キャッシュされていないモード。 データの収集とアップロードは同じスケジュールで行われます。 アドホック コレクションまたはスナップショット コレクションの非キャッシュ モードを指定します。
非キャッシュ モードからキャッシュ モード (0
) に変更する場合は、 @schedule_uid または @schedule_nameも指定する必要があります。
[ @days_until_expiration = ] days_until_expiration
収集されたデータが管理データ ウェアハウスに保存される日数。 @days_until_expiration は smallint であり、 0
または正の整数である必要があります。
[ @proxy_id = ] proxy_id
SQL Server エージェント プロキシ アカウントの一意識別子。 @proxy_id は int です。
[ @proxy_name = ] N'proxy_name'
プロキシの名前。 @proxy_name は sysname で、既定値は NULL
です。
[ @schedule_uid = ] 'schedule_uid'
スケジュールを指す GUID。 @schedule_uid は uniqueidentifier で、既定値は NULL
です。
@schedule_uidを取得するには、sysschedules
システム テーブルに対してクエリを実行します。
@collection_modeが0
に設定されている場合は、@schedule_uidまたは@schedule_nameを指定する必要があります。 @collection_modeが1
に設定されている場合、@schedule_uidまたは@schedule_nameが指定されている場合は無視されます。
[ @schedule_name = ] N'schedule_name'
スケジュールの名前です。 @schedule_name は sysname で、既定値は NULL
です。 指定する場合は、 @schedule_uid を NULL
する必要があります。 @schedule_nameを取得するには、sysschedules
システム テーブルに対してクエリを実行します。
[ @logging_level = ] logging_level
ログ 記録レベル。 @logging_level は smallint で、既定値は 1
で、次のいずれかの値があります。
0
: 実行情報と追跡する SSIS イベントをログに記録します。- コレクション セットの開始/停止
- パッケージの開始/停止
- エラー情報
1
: レベル 0 のログ記録と:- 実行の統計
- 継続的に実行されるコレクションの進行状況
- SSIS からの警告イベント
2
: レベル 1 のログ記録と SSIS からの詳細なイベント情報。
[ @description = ] N'description'
コレクション セットの説明。 @description は nvarchar(4000) で、既定値は NULL
です。
リターン コードの値
0
(成功) または 1
(失敗)。
解説
sp_syscollector_update_collection_set
は、 msdb
システム データベースのコンテキストで実行する必要があります。
collection_set_idまたはnameには値が必要です。両方をNULL
することはできません。 これらの値を取得するには、 syscollector_collection_sets
システム ビューに対してクエリを実行します。
コレクション セットが実行されている場合、更新できるのは schedule_uid と 説明のみです。 コレクション セットを停止するには、 sp_syscollector_stop_collection_setを使用します。
アクセス許可
このプロシージャを実行するには、 dc_admin または dc_operator (EXECUTE 権限を持つ) 固定データベース ロールのメンバーシップが必要です。 このストアド プロシージャ 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