SQL Server 2005 Analysis Services でスナップショット トランザクション分離レベルを有効にする

この記事では、Analysis Services でスナップショットトランザクション分離レベルを有効にするために従う必要がある手順について説明します。

元の製品バージョン: SQL Server
元の KB 番号: 919160

概要

この記事では、Microsoft SQL Server Analysis Servicesでスナップショット トランザクション分離レベルを有効にする方法について説明します。 さらに、この記事では、スナップショット トランザクション分離レベルが有効になっているかどうかをテストする方法について説明します。

スナップショット トランザクション分離レベルを有効にする

Analysis Services では、スナップショット トランザクション分離レベルを使用して、SQL Server データ ソースに接続できます。 スナップショット トランザクション分離レベルを有効にするには、次の手順に従います。

  1. SQL Server Management Studioで、次のステートメントを実行します。

    ALTER DATABASE <DatabaseName>
    SET READ_COMMITTED_SNAPSHOT ON
    GO
    ALTER DATABASE <DatabaseName>
    SET ALLOW_SNAPSHOT_ISOLATION ON
    GO
    

    注:

    これらのステートメントでは、 <DatabaseName> Analysis Services で使用するデータ ソース内のデータベースのプレースホルダーです。

  2. Business Intelligence Development Studio で、新しい Analysis Services プロジェクトを作成します。

    または、既存の Analysis Services プロジェクトを開きます。

  3. 手順 2 で新しい Analysis Services プロジェクトを作成した場合は、次の手順に従います。

    1. ソリューション エクスプローラーで、[データ ソース] を右クリックし、[新しいデータ ソース] をクリックします。
    2. [ 接続の定義方法の選択 ] ダイアログ ボックスで、[ 新規] をクリックします。 [接続マネージャー] ダイアログ ボックスが表示されます。

    手順 2 で既存の Analysis Services プロジェクトを開いた場合は、次の手順に従います。

    1. [ データ ソース] フォルダーで、既存のデータ ソースをダブルクリックします。
    2. [データ ソース Designer] ダイアログ ボックスで、[編集] をクリックします。 [接続マネージャー] ダイアログ ボックスが表示されます。
  4. [接続マネージャー] ダイアログ ボックスの [プロバイダー] ボックスの一覧で [ネイティブ OLE DB\SQL Native Client] をクリックします。

  5. サーバー名と認証を指定します。

  6. 接続をテストするには、[接続の テスト] をクリックします。

  7. 左側のウィンドウで、[ すべて] をクリックします。

  8. 右側のウィンドウで、MARS 接続の一覧で [True] をクリックし、[OK] をクリックします

  9. [データ ソース Designer] ダイアログ ボックスの [分離] ボックスの一覧で [スナップショット] をクリックし、[OK] をクリックします

スナップショット トランザクション分離レベルが有効になっているかどうかをテストする

スナップショット トランザクション分離レベルが有効かどうかをテストするには、次の手順に従います。

  1. SQL Server Profilerを開始します。

  2. Analysis Services プロジェクトで指定したデータ ソースに接続する新しいトレースを作成します。

  3. [ トレースのプロパティ ] ダイアログ ボックスで、[ イベントの選択 ] タブをクリックします。

  4. [TransactionID] 列で、イベントの行とイベントの行SQL:BatchCompletedのチェック ボックスをクリックしてSQL:BatchStarting選択します。

    注:

    [TransactionID] 列を表示するには、[すべての列を表示する] チェックボックスをクリックして選択します。

  5. [ 実行 ] をクリックしてトレースを開始します。

  6. ビジネス インテリジェンス開発スタジオで、Analysis Services プロジェクトを処理します。

  7. SQL Server Profilerで、イベントと、TransactionID 列でSQL:BatchStarting同じ値を持つイベントを探SQL:BatchCompletedします。 通常、これらのイベントには TextData 列に ステートメントが含まれますSELECT。 これらのイベントの場合は、SPID 列でセッション ID を取得します。

  8. データ ソースに接続するには、SQL Server Management Studioを開始します。

  9. 新しいクエリを作成し、次の Transact-SQL ステートメントを実行します。

    select session_id,Transaction_Isolation_Level from sys.dm_exec_sessions
    where session_id=<SPID>
    

    注:

    このステートメントでは、 <SPID> は、手順 7 で取得したセッション ID のプレースホルダーです。

  10. [ 結果 ] タブで、[ Transaction_Isolation_Level ] 列の値をメモします。 この値は、Analysis Services プロジェクトで使用しているトランザクション分離レベルを示します。 スナップショットトランザクション分離レベルが有効になっている場合、Transaction_Isolation_Level列の値は 5 です。 次の表は、 Transaction_Isolation_Level 列の値と、対応するトランザクション分離レベルを示しています。

    トランザクション分離レベル
    0 Unspecified
    1 ReadUncommitted
    2 ReadCommitted
    3 再現
    4 シリアル 化
    5 スナップショット

関連情報

スナップショット トランザクション分離レベルの詳細については、SQL Server 2005 オンライン ブックの次のトピックを参照してください。

  • トランザクション分離レベルの設定 (Transact-SQL)
  • 行のバージョン管理ベースの分離レベルを有効にする
  • データベース エンジンの分離レベル