次の方法で共有


sp_syscollector_create_collection_set (Transact-SQL)

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

注意

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

適用対象: SQL Server (SQL Server 2008 から現在のバージョンまで)

トピック リンク アイコン 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;

関連項目

タスク

ジェネリック T-SQL Query コレクター型を使用するカスタム コレクション セットの作成 (Transact-SQL)

参照

データ コレクター ストアド プロシージャ (Transact-SQL)

syscollector_collection_sets (Transact-SQL)

概念

データ コレクション