none
ミラーリングデータベースにADO.NET(OLEDB プロバイダ)でアクセスした場合のフェールオーバーの設定について RRS feed

  • 質問

  • これが何度やってもエラーが発生し、接続が出来ません。
    ここまでくると疑うのは、ADO.NET(OLEDB プロバイダ)でフェールオーバーの設定は出来るのでしょうか?
    という疑問です、何かこの辺りの情報をお持ちの方アドバイスをお願い致します。

    試した見た文字列
       FailoverPartner、Failover Partner、Failover_Partnerなどを試してみました。

     例)
        Provider=SQLOLEDB;packet size=4096;user id=sa;data source=dbserver1;persist security info=True;
        initial catalog=master;password=p@ssword;Connect Timeout=5;FailoverPartner=dbserver2


    参考にしている資料
       http://msdn.microsoft.com/ja-jp/library/ms366348.aspx
     
       ⇒OLEDBプロバイダはキーワード「FailoverPartner」
       ⇒もちろん、ODBCドライバ用やActiveX Data Objectsの書き方も試した。

    発生するエラー
       ---> System.Data.OleDb.OleDbException: [DBNETLIB][ConnectionOpen (Connect()).]
       SQL Server が存在しないか、アクセスが拒否されました。接続文字列の属性が正しくありません。


    以上

     

    2010年2月18日 4:57

回答

  • FailoverPartner は正常に機能すると思います。

    気になった点としては、master データベースが指定されていることですかね。
    ユーザーデータベースをミラーリングした上で、まずは FailoverPartner を使用せず、接続すること出来るかどうか、確認されてはどうでしょう。
    (手動フェールオーバーを実施して、プリンシパル/ミラー の両マシン上のミラーリング対象データベースに接続)
    そのうえで、FailoverPartner のテストをされてはどうでしょう。

    データベース ミラーリング
    http://msdn.microsoft.com/ja-jp/library/bb934127.aspx

    - master、msdb、temp、または model の各データベースはミラー化できません。

    • 回答としてマーク 菊地俊介 2010年2月26日 8:40
    2010年2月19日 22:50

すべての返信

  • FailoverPartner は正常に機能すると思います。

    気になった点としては、master データベースが指定されていることですかね。
    ユーザーデータベースをミラーリングした上で、まずは FailoverPartner を使用せず、接続すること出来るかどうか、確認されてはどうでしょう。
    (手動フェールオーバーを実施して、プリンシパル/ミラー の両マシン上のミラーリング対象データベースに接続)
    そのうえで、FailoverPartner のテストをされてはどうでしょう。

    データベース ミラーリング
    http://msdn.microsoft.com/ja-jp/library/bb934127.aspx

    - master、msdb、temp、または model の各データベースはミラー化できません。

    • 回答としてマーク 菊地俊介 2010年2月26日 8:40
    2010年2月19日 22:50
  • 回答を有難うございます。

    開発システムのデータベース名にしてもうまく動作しませんでした。

    教えていただいたURLなど
    もう少し調べてみて必要であればソースをアップしたいと思います。

    有難うございました。

    2010年2月21日 4:21