sp_syscollector_create_collection_set (Transact-SQL)
適用対象: SQL Server
新しいコレクション セットを作成します。 このストアド プロシージャを使用して、データ収集用のカスタム コレクション セットを作成できます。
警告
プロキシとして構成された Windows アカウントが、まだログインしていない非対話型ユーザーまたは対話型ユーザーである場合、プロファイル ディレクトリは存在せず、ステージング ディレクトリの作成は失敗します。 そのため、ドメイン コントローラーでプロキシ アカウントを使用している場合は、プロファイル ディレクトリが作成されたことを確認するために、少なくとも 1 回使用された対話型アカウントを指定する必要があります。
構文
sp_syscollector_create_collection_set
[ @name = ] N'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 OUTPUT
[ , [ @collection_set_uid = ] 'collection_set_uid' OUTPUT ]
[ ; ]
引数
[ @name = ] N'name'
コレクション セットの名前。 @name は sysname 空の文字列または NULL
にすることはできません。
@name は一意である必要があります。 現在のコレクション セット名の一覧については、 syscollector_collection_sets
システム ビューに対してクエリを実行します。
[ @target = ] N'target'
将来の使用のために予約済み。 @target は nvarchar(128) で、既定値は NULL
です。
[ @collection_mode = ] collection_mode
@collection_mode は smallint で、既定値は 0
です。
データを収集し、格納する方法を指定します。 @collection_mode は smallint で、既定値は 0
で、次のいずれかの値を指定できます。
0
: キャッシュ モード。 データの収集とアップロードは別々のスケジュールで行われます。 連続コレクションのキャッシュ モードを指定します。1
: キャッシュされていないモード。 データの収集とアップロードは同じスケジュールで行われます。 アドホック コレクションまたはスナップショット コレクションの非キャッシュ モードを指定します。
@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 = ] N'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 = ] 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
です。
[ @collection_set_id = ] collection_set_id OUTPUT
コレクション セットの一意のローカル識別子。 @collection_set_id は、 int 型の OUTPUT パラメーターです。
[ @collection_set_uid = ] 'collection_set_uid' OUTPUT
コレクション セットの GUID を指定します。 @collection_set_uid は、 uniqueidentifier 型の OUTPUT パラメーターです。
リターン コードの値
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;
GO