0

2台のSQLServerマシンがserver1ありserver2、それらは冗長で同じデータを持っています。

msdb私のアプリケーションは、データベース内のテーブルから1秒ごとにデータを選択したいと考えています。しかし、私のアプリケーションは1つの接続文字列のみを使用して接続できます。アプリケーションを編集する方法は、両方のサーバーで重複して機能しますか?

  • SQL Server 2000 SP4
  • Window Server 2003
  • C#

私の接続文字列は

server=10.15.13.70;database=msdb;user id=sa;pwd=""

教えてください。

4

4 に答える 4

1

サーバーをランダムに選択し、その名前または IP を接続文字列に挿入してから、接続を開きます。

using (SqlConnection _con = new SqlConnection("server=" + giveMeAServer() + ";database=msdb;user id=sa;pwd="))

と:

private String giveMeAServer()
{
    return "10.15.13.70";
}

適切な修正は、特に 1 秒に 1 回の頻度で再接続している場合、アプリケーションがデータベース バックエンドの負荷分散について心配するのではなく、SQL Server 側である種のクラスターをセットアップしてそれに接続することです。

于 2011-03-10T09:21:23.130 に答える
1

より良いのは、5ミリ秒などの間隔で接続を開こうとすることです。接続を開けない場合は、接続文字列を介して他のサーバーに切り替えます

于 2013-01-25T22:54:52.333 に答える
0

あなたが探しているのはですLoad balancing。これは、読み取り専用データベースにのみ適用できる手法です。基本的に、負荷を複数のサーバーに分散します。

これは、MicrosoftによるSQLServer2000との負荷分散に関する良い読み物です。

http://technet.microsoft.com/en-us/library/cc917707.aspx

イムホ、あなたが達成しようとしていることは、プログラムで処理するのではなく、ハードウェアレベルで処理する必要があります。

于 2011-03-10T09:29:20.990 に答える
-1
Data Source=myServerAddress;Failover Partner=myMirrorServerAddress;Initial Catalog=myDataBase;Integrated Security=True;

( http://www.mssqltips.com/tip.asp?tip=1289から)

于 2011-03-10T09:20:47.177 に答える