sp_syscollector_update_collection_set (Transact-SQL)

適用対象:SQL Server

ユーザー定義コレクション セットのプロパティを変更したり、ユーザー定義コレクション セットの名前を変更したりするために使用します。

警告

プロキシとして構成された Windows アカウントが、まだログインしていない非対話型または対話型のユーザーである場合、プロファイル ディレクトリは存在せず、ステージング ディレクトリの作成は失敗します。 したがって、ドメイン コントローラーでプロキシ アカウントを使用している場合は、プロファイル ディレクトリが確実に作成されているようにするため、少なくとも 1 回は使用されている対話型アカウントを指定する必要があります。

Transact-SQL 構文表記規則

構文

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 であり、@nameNULLが .

[ @name = ] N'name'

コレクション セットの名前。 @nameは sysname であり、@collection_set_idNULLが .

[ @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が設定されている場合は、@schedule_uidまたは@schedule_nameを指定する必要0があります。 @collection_mode1設定されている場合、@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または名前に値を指定する必要があります。両方を指定することはできません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