none
SQLServer2005 ミラーリング構成時の接続文字列について RRS feed

  • 質問

  • VisualStudio2005、SQLServer2005を使用して、DB接続するための文字列を作成しています。

    SQLServerはミラーリング構成になっており、以下の通りDBパートナーを指定した形の

    接続文字列を作成しています。

     

    この接続文字列の場合、”ServerMain”と”ServerSub”がフェールオーバーした際にも

    問題なくDB接続が出来るのですが、以下のようなケースの時に接続不可となってしまいます。

     

    メインDB:ServerSub、サブDB:ServerMain(OSダウン)

    このケースの場合、最初に接続文字列の「Server」に指定している”ServerMain”に対して、

    先に接続を試みるようで、その際にOSがダウンしているため接続先が見つからずエラーで

    返ってきてしまいます。

    これは回避しようがないのでしょうか?もし、回避方法があればご教授お願いいたします。

                '接続文字列を作成する 
                sConnectiongString &= "Server = "ServerMain";"
                sConnectiongString &= "Database = "TestDB;"
                sConnectiongString &= "user id = "sa;"
                sConnectiongString &= "password = "password;"
                sConnectiongString &= "failover partner = "ServerSub;"

                'SqlConnectionの新しいインスタンスを生成する
                dbconn = New System.Data.SqlClient.SqlConnection(sConnectiongString)

                'データベース接続を開く
                dbconn.Open()

    2010年3月31日 7:02

回答

  • watabrianさん、こんにちは。

    問題が発生する状況についてですが、
    プリンシパルだった "ServerMain" のOSがダウンし、ミラーだった "ServerSub" がプリンシパルになった、という状況なのでしょうか?

    また、"ServerSub" がプリンシパルになったときに、フェイルオーバーが失敗していなかったでしょうか?

    他にも情報をお持ちの方がいらしたら、ぜひ投稿してください!
    それでは。

    • 回答としてマーク 山本春海 2010年4月28日 9:48
    2010年4月5日 9:49