SQL Server は分散トランザクションをどのように構成しますか?
SQLサーバーで分散トランザクションを構成するには、以下の手順が必要です。
- DTCをインストールしていますか?DTCは分散トランザクションを調整するWindowsサービスです。DTCはWindowsコンポーネントサービスを使ってインストールと設定を行うことができます。
- SQL Serverを設定して分散トランザクションをサポートします。SQL Server Management Studio(SSMS)またはSQL Server Configuration Managerを使用して設定できます。
- SSMSでサーバーオブジェクトを開き、「サーバーのプロパティ」を右クリックし、「接続」タブで「分散トランザクションを有効にする」オプションを選択します。
- SQL Server Configuration Managerで、「Services」ノードを展開し、対応するSQL Serverインスタンスを見つけて、「Distributed Transaction Coordinator」を右クリックし、「Properties」を選択し、「Local DTC」のタブで「Network DTC Access Enabled」オプションを有効にします。
- アプリケーション内で分散トランザクションを使用します。これは、TransactionScopeクラスを使用してアプリケーション内で分散トランザクションを開始および管理することによって行われます。すべての関連するデータベースに接続し、トランザクションが開始される際にTransactionScopeオブジェクトを作成します。トランザクションが完了したら、Completeメソッドを使用してトランザクションをコミットするか、Disposeメソッドを使用してトランザクションをロールバックします。
- 以下はサンプルコードです。
- TransactionScope内で(SqlConnection connection1 = new SqlConnection(connectionString1))を使用していると、(SqlConnection connection2 = new SqlConnection(connectionString2))を使用することができます。操作を行った後、トランザクションは完了します。
- 上記のコードにおいて、connectionString1とconnectionString2はそれぞれ関連する2つのデータベースの接続文字列です。
SQL Serverが分散トランザクションを配置すると、複数のデータベースに関わるトランザクション操作を調整し管理できるようになります。