sp_syscollector_create_collection_set (Transact-SQL)
新しいコレクション セットを作成します。このストアド プロシージャを使用すると、データ コレクション用のカスタム コレクション セットを作成できます。
構文
sp_syscollector_create_collection_set
[ @name = ] '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_name' ]
, [ [ @logging_level = ] logging_level ]
, [ [ @description = ] 'description' ]
, [ @collection_set_id = ] collection_set_id OUTPUT
, [ [ @collection_set_uid = ] 'collection_set_uid' OUTPUT ]
引数
[ @name = ] 'name'
コレクション セットの名前を指定します。name のデータ型は sysname で、空の文字列または NULL を指定できません。name は一意である必要があります。現在のコレクション セットの名前の一覧については、syscollector_collection_sets システム ビューにクエリを実行します。
[ @target = ] 'target'
将来の使用のために予約されています。name のデータ型は nvarchar(128) で、既定値は NULL です。[ @collection_mode = ] collection_mode
データの収集方法と格納方法を指定します。collection_mode のデータ型は smallint で、次のいずれかの値を指定できます。0 - キャッシュ モード。データの収集とアップロードは個別のスケジュールに従います。連続コレクションのキャッシュ モードを指定します。
1 - 非キャッシュ モード。データの収集とアップロードは同じスケジュールに従います。アドホック コレクションまたはスナップショット コレクションの非キャッシュ モードを指定します。
collection_mode の既定値は 0 です。collection_mode が 0 の場合は、schedule_uid または schedule_name を指定する必要があります。
[ @days_until_expiration = ] days_until_expiration
収集したデータを管理データ ウェアハウスに保管しておく日数を指定します。days_until_expiration のデータ型は smallint で、既定値は 730 (2 年) です。days_until_expiration には、0 または正の整数を指定する必要があります。[ @proxy_id = ] proxy_id
SQL Server エージェント プロキシ アカウントの一意な識別子を指定します。proxy_id のデータ型は int で、既定値は NULL です。指定する場合、proxy_name は NULL にする必要があります。proxy_id を取得するには、sysproxies システム テーブルにクエリを実行します。dc_admin 固定データベース ロールには、プロキシにアクセスする権限が必要です。詳細については、「SQL Server エージェント プロキシの作成」を参照してください。[ @proxy_name = ] 'proxy_name'
プロキシ アカウントの名前を指定します。proxy_name のデータ型は sysname で、既定値は NULL です。指定する場合、proxy_id は NULL にする必要があります。proxy_name を取得するには、sysproxies システム テーブルにクエリを実行します。[ @schedule_uid = ] 'schedule_uid'
スケジュールを参照する GUID を指定します。schedule_uid のデータ型は uniqueidentifier で、既定値は NULL です。指定する場合、schedule_name は NULL にする必要があります。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) で、既定値は NULL です。[ @collection_set_id = ] collection_set_id
コレクション セットの一意なローカル識別子を指定します。collection_set_id のデータ型は OUTPUT を持つ int で、必ず指定する必要があります。[ @collection_set_uid = ] 'collection_set_uid'
コレクション セットの GUID を指定します。collection_set_uid のデータ型は OUTPUT を持つ uniqueidentifier で、既定値は NULL です。
リターン コード値
0 (成功) または 1 (失敗)
説明
sp_syscollector_create_collection_set は、msdb システム データベースのコンテキストで実行する必要があります。
権限
このプロシージャを実行するには、(EXECUTE 権限を持つ) dc_admin 固定データベース ロールのメンバーシップが必要です。
例
A. 既定値を使用してコレクション セットを作成する
次の例では、必須パラメーターのみを指定してコレクション セットを作成します。@collection_mode は必要ありませんが、既定のコレクション モード (キャッシュ) では、スケジュール ID またはスケジュール名のいずれかを指定する必要があります。
USE msdb;
GO
DECLARE @collection_set_id int;
EXECUTE dbo.sp_syscollector_create_collection_set
@name = N'Simple collection set test 1',
@description = N'This is a test collection set that runs in non-cached mode.',
@collection_mode = 1,
@collection_set_id = @collection_set_id OUTPUT;
GO
B. 値を指定してコレクション セットを作成する
次の例では、多数のパラメーターの値を指定してコレクション セットを作成します。
USE msdb;
GO
DECLARE @collection_set_id int;
DECLARE @collection_set_uid uniqueidentifier;
SET @collection_set_uid = NEWID();
EXEC dbo.sp_syscollector_create_collection_set
@name = N'Simple collection set test 2',
@collection_mode = 0,
@days_until_expiration = 365,
@description = N'This is a test collection set that runs in cached mode.',
@logging_level = 2,
@schedule_name = N'CollectorSchedule_Every_30min',
@collection_set_id = @collection_set_id OUTPUT,
@collection_set_uid = @collection_set_uid OUTPUT;