sp_syscollector_create_collection_set (Transact-SQL)

適用対象:SQL Server

新しいコレクション セットを作成します。 このストアド プロシージャを使用して、データ収集用のカスタム コレクション セットを作成できます。

警告

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

Transact-SQL 構文表記規則

構文

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が設定されている場合は、@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: SSIS からのレベル 1 ログと詳細なイベント情報。

[ @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