- - PR -
SQLServer2005でのミラーリング自動リダイレクトについて
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-12-06 10:13
お世話になります。さっそくですがSQLServerのミラーリングについて教えていただきたく書き込みしました。
SQLServerは2005sp1を使用しておりASP.NETでのWebシステムを構築しています。今回データベールのミラーリングを行いと思っています。テスト的にサーバ2台(ミラーサーバと監視サーバは同一サーバにしています)でミラー設定をしてみました。手動では問題なくミラー側への切り替えができました。そこで今度は自動リダイレクトを実現したいと思い、web.configファイルにファエイルオーバーの接続文字列パラメータを記述してみたのですが、記述設定がまずいようで、ミラーへの自動リダイレクトどころか、正常にプリンシパルが動作している時でもデータベースへの接続ができません。web.configには下記のように記述してみました。 <add key="ConnectString" value="user id=DBxxxx;data source=PrincipalSvr;Failover Partner=MirrorSvr;initial catalog=DBxxxx;password=xxxx1234"/> またミラーサーバへ切り替わった時、接続したいデータベースへのユーザ設定が自動で復元されません。手動で設定しなおせば問題なくミラーサーバ側のデータベースに接続できるのですが、これを自動化することは可能でしょうか? データベースミラーリングの自動リダイレクトを実現するために、 @web.configの接続文字列パラメータの記述方法 Aデータベースへの自動ユーザ設定 この2点についてご教授いただければと思います。よろしくお願いいたします。 |
|
投稿日時: 2006-12-18 12:11
私もミラーリングで悪戦苦闘しています。
プリンシパルに接続できない件ですが、Connection.Open 時にエラーは何が出ていますか? あと切り替わりですが、アプリケーション側で Connection を.Close/.Open し直す必要があります。 サーバー側はシームレスに切り替わるのですが、アプリケーション側では切り替えを意識する必要があります。 |
|
投稿日時: 2006-12-19 17:54
こばさん、こんにちは。レスありがとうございます。また返事が遅くなりすみません。
エラーの内容ですが、‘キーワードはサポートされていません:failover partner’と表示されました。トレースの内容は以下のようなものでした。 [ArgumentException: キーワードはサポートされていません : 'failover partner'] System.Data.Common.DBConnectionString.ParseInternal(Char[] connectionString, UdlSupport checkForUdl, NameValuePair& keychain) +1133 System.Data.Common.DBConnectionString..ctor(String connectionString, UdlSupport checkForUdl) +114 System.Data.SqlClient.SqlConnectionString..ctor(String connectionString) +13 System.Data.SqlClient.SqlConnectionString.ParseString(String connectionString) +96 System.Data.SqlClient.SqlConnection.set_ConnectionString(String value) +11 System.Data.SqlClient.SqlConnection..ctor(String connectionString) +158 KpKintai.Common.ComFunc.SqlDlookup(String expr, String domain, String criteria, Int64 lErrNumber, String lErrMsg) KpKintai.Logon.zGetKanriBumon() KpKintai.Logon.Initialize() KpKintai.BasePage.Page_Load(Object sender, EventArgs e) System.Web.UI.Control.OnLoad(EventArgs e) +67 System.Web.UI.Control.LoadRecursive() +35 System.Web.UI.Page.ProcessRequestMain() +731 やはりアプリケーション側では一工夫必要になるのですね…。なにぶん、SQLServerも.netも初心者なのでかなりの難題です。 |
1