次の方法で共有


core.sp_create_snapshot (Transact-SQL)

管理データ ウェアハウスの core.snapshots ビューに行を挿入します。このプロシージャは、アップロード パッケージが管理データ ウェアハウスへのデータのアップロードを開始するたびに呼び出されます。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

core.sp_create_snapshot [ @collection_set_uid = ] 'collection_set_uid'
        , [ @collector_type_uid = ] 'collector_type_uid'
        ,[ @machine_name = ] 'machine_name'
        , [ @named_instance = ] 'named_instance'
        , [ @log_id = ] log_id
        , [ @snapshot_id = ] snapshot_id OUTPUT

引数

  • [ @collection_set_uid = ] 'collection_set_uid'
    コレクション セットの GUID を指定します。collection_set_uid のデータ型は uniqueidentifier で、既定値はありません。GUID を取得するには、msdb データベースの dbo.syscollector_collection_sets ビューにクエリを実行します。

  • [ @collector_type_uid = ] 'collector_type_uid'
    コレクター型の GUID を指定します。collector_type_uid のデータ型は uniqueidentifier で、既定値はありません。GUID を取得するには、msdb データベースの dbo.syscollector_collector_types ビューにクエリを実行します。

  • [ @machine_name = ] 'machine_name'
    コレクション セットが存在するサーバーの名前を指定します。machine_name のデータ型は sysname で、既定値はありません。

  • [ @named_instance = ] 'named_instance'
    コレクション セットのインスタンスの名前を指定します。named_instance のデータ型は sysname で、既定値はありません。

  • [ @log_id = ] log_id
    データを収集したサーバー上のコレクション セットのイベント ログにマップされた一意の識別子を指定します。log_id のデータ型は bigint で、既定値はありません。log_id の値を取得するには、msdb データベースの dbo.syscollector_execution_log ビューにクエリを実行します。

  • [ @snapshot_id = ] snapshot_id
    core.snapshots ビューに挿入する行の一意の識別子を指定します。snapshot_id のデータ型は int で、OUTPUT として返されます。

リターン コード値

0 (成功) または 1 (失敗)

説明

アップロード パッケージが管理データ ウェアハウスへのデータのアップロードを開始するごとに、データ コレクターの実行時コンポーネントが core.sp_create_snapshot を呼び出します。

このプロシージャでは、次の条件がチェックされます。

  • collection_set_uid が、core.source_info_internal テーブルの既存のエントリと一致していること。

  • collector_type_uid が、core.supported_collector_types ビューの既存のエントリと一致していること。

これらの条件が満たされなかった場合、プロシージャは失敗し、エラーが返されます。

権限

(EXECUTE 権限を持つ) mdw_writer 固定データベース ロールのメンバーシップが必要です。

次の例では、ディスク使用量コレクション セットのスナップショットを作成し、それを管理データ ウェアハウスに追加して、スナップショット識別子を返します。この例では、既定のインスタンスを使用しています。

USE <management_data_warehouse>;
DECLARE @snapshot_id int;
EXEC core.sp_create_snapshot 
    @collection_set_uid = '7B191952-8ECF-4E12-AEB2-EF646EF79FEF', 
    @collector_type_uid = '302E93D1-3424-4BE7-AA8E-84813ECF2419',
    @machine_name = '<computername>',
    @named_instance = 'MSSQLSERVER',
    @log_id = 11, -- ID of the log for the collection set
    @snapshot_id = @snapshot_id OUTPUT;