MS SQLエラー:リンクサーバーのOLEDBプロバイダー 'SQLNCLI10'が原因で、操作を実行できませんでした。
Ms Sql Error Operation Could Not Be Performed Because Ole Db Providersqlncli10for Linked Server
リンクサーバーテストを介してテストサーバー(システム:Windows 2008 R2標準データベース:SQL SERVER 2008 R2)で分散トランザクションテストを使用しているときに、同僚がエラーを起こしました。エラーメッセージは次のとおりです。
xact_abortをオンに設定します
トランを開始
test.mydb.dbo.test_oneを更新します。setname= 'test' where id = 3
コミット
リンクサーバーのOLEDBプロバイダー 'SQLNCLI10'テスト 'がメッセージを返しました'トランザクションマネージャーがリモート/ネットワークトランザクションのサポートを無効にしました。
メッセージ7391、レベル16、状態2、行5
リンクサーバー 'test'のOLEDBプロバイダー 'SQLNCLI10'が分散トランザクションを開始できなかったため、操作を実行できませんでした。
このエラーは、サーバーまたはサーバーにリンクされているサーバーがMS DTC(Microsoft Distributed Transaction Coordinator)で構成されていないために発生します。
まず、「リモートアクセス」、「リモート管理者接続」、および「リモートプロシージャトランス」のオプションが有効になっていることを確認します。
コードスニペット- exec sp_configure '高度なオプションを表示'、1
- 行く
- 再構成
- 行く
- exec sp_configure 'リモートアクセス'、1
- 行く
- 再構成
- 行く
- exec sp_configure 「リモート管理者接続」、1
- 行く
- 再構成
- 行く
- exec sp_configure 「リモートプロシージャトランス」、1
- 行く
- 再構成
- 行く
DTCステップを構成する
ステップ1: 開始(開く)-コントロールパネル(コントロールパネル)-システムとセキュリティ(システムとセキュリティ)-管理ツール-コンポーネントサービス(コンポーネントサービス)(または実行-> dcomcnfgがコンポーネントサービスから直接ジャンプします)。
インターフェイスに入り、([コンソールルート]-> [コンポーネントサービス]-> [コンピューター]-> [マイコンピューター]-> [ローカルDTC])をクリックします。
ステップ2:「ローカルDTC」のプロパティを右クリックすると、「トレース」、「ロギング」、「セキュリティ」の3つのパネルが表示されます。プロパティの設定について。下の[これらのプロパティの設定の詳細]をクリックできます
以下に示すように、通常は「セキュリティ」の下にプロパティを設定するだけで済みます。特定の条件については、実際の状況に応じて構成してください。次の「ローカルDTCプロパティページ」を参照できます。「セキュリティオプション」カードの説明
注:サーバーでファイアウォールがオンになっている場合は、ファイアウォールでポート135が開いていることを確認する必要があります(つまり、分散トランザクションコーディネータープログラムがファイアウォールを通過できるようにします)。