2009-06-02 6 views
3

私はDBAではないので、これは愚かな質問かもしれませんが、とにかく質問します。 SQL Serverを2000年から2005年にアップグレードしており、おそらくデータベースレプリケーションまたはデータベースミラーリングのいずれかを使用します。私たちのDBAはスタンバイ・サーバーを「多目的」にしたいと考えています。スタンバイ・サーバー上で他のデータベース・アプリケーションを実行することで、能力と容量を増やしたいと考えています。「それはちょうどそこに座っています」(彼の言葉ではなく、 。これはいい考えですか?現時点では、主なアプリケーションサーバーは50以上のデータベースを含むインスタンスを1つしか使用しません。私が理解しているように、今やっていることと、DBAがフェイルオーバー・サーバーのために提案していることは、これらのデータベースのすべてがメモリ、CPU、作業領域を共有しているため、悪い考えです。 1つのアプリケーションが悪い動作を開始すると、他のDBが影響を受ける可能性があります。フェールオーバーサーバーを複数使用していますか?

どのような考えですか?

+1

この質問のためにserverfault.comがより良い場所になるかもしれません –

+0

DBアプリケーションとは、IISまたはReporting Services/SSISのことですか? – Sam

+0

サーバで待機することは特に何を意味しますか? – DForck42

答えて

1

本当にビジネス上の質問ですが、回答する必要がありますか?あなたは余分なハードウェアの費用を余裕がない場合は、アプリが遅いアプリがいいですか?

スタンバイおよびミラー化されたdbをレポートに使用できます。十分なヘッドルームがある場合(つまり、両方のデータベースがサーバー上で快適に実行される場合)、フェイルオーバーDBとして使用できます。

0

これらの追加のアプリケーションに依存しますか?フェールオーバーのケースではどこで実行されますか?

0

実際に障害モードを理解する必要があります。

基本的なリソースの数学として見ると、障害シナリオで実行しているリソースが予想される負荷全体を処理できない限り、それは意味をなさないことがよくあります。ときどきそうであるが、必ずしもそうではない。この場合、実際の負荷を処理するためには、別のサーバーが必要です(RAIDのように - 負荷が5台以上のサーバーが必要ですが、6台のファームがある場合は、 1以上で失敗する)。場合によっては農場が劣化していることもありますが、時には彼らが単に吐き出して死ぬこともあります。

正常な動作から外れた場合、正当な事故によって問題のカスケードが発生する場合があります。あなたのバックアップテープはバックアップからサーバを復元するために忙しくなっています(実際の "失敗"もなくても)、SQLサーバまたはexhcangeサーバ(またはその両方)はバックアップされず、ログがいっぱいになります。

0

データベースミラーリングはデータベースレベルでのみ冗長性を提供するため、私の意見ではここに行く方法ではありません。したがって、提供した情報に基づいて最大50データベースのデータベースミラーリングを構成する必要があります。障害が一般的には特定のデータベースではなくハードウェアレベルで発生するため、1つのDBがすべて障害を起こす場所があれば、おそらく50が続く可能性があります。

SQL Serverクラスタリングテクノロジを使用する必要があるように聞こえます。要件を満たすためにアクティブ/アクティブクラスタを作成することができます。

アクティブ/アクティブクラスタとは何ですか?

アクティブ/アクティブSQL Serverクラスタとは、SQL Serverが双方向クラスタの両方のノードで実行されていることを意味します。 SQL Serverの各コピーは独立して動作し、ユーザーは2つの異なるSQL Serverを参照します。クラスタ内のSQL Serverの1つに障害が発生すると、SQL Serverの障害が発生したインスタンスは残りのサーバーにフェールオーバーされます。つまり、SQL Serverの両方のインスタンスが2台ではなく1台の物理サーバー上で実行されます。あなたのシナリオ

にこれを適用する

その後、SQLサーバ、各ノードで1つのアクティブなインスタンスの2つのインスタンス間でデータベースを分割することができます。一方のノードに障害が発生した場合、他方のノードはスラックを拾い、その逆も同様である。

さらに読書

An introduction to SQL Server Clustering

I suspect that you will find the following MSDN thread useful reading also

+0

他のサーバが失敗した場合に、一方のサーバが負荷を処理できる場合は、これは良い解決策です。負荷全体を処理できない場合は、状況が悪化する可能性があります。 –

+0

絶対にあなたの環境によって異なります。一例として、現在、1つのノードペアで高スループットOLTPプラットフォームをサポートし、もう1つのノードペアでDatawarehouseをサポートするアクティブ/アクティブクラスタを実行しています。これは、運用サーバーからの報告/重要でない操作の負荷を軽減し、フェイルオーバーが発生した場合、必要に応じてレポートを中断することができるため、優れた組み合わせです。予防措置として、SQL Serverインスタンスのリソースに意図的に上限が設定されています。理にかなっている? –

0

それはトランザクションを適用そこに座っされます

...

"それはとにかくそこに座ってすることになるだろう" John Sansomの勧告に注意してください。 Active/Activeクラスタには2つのSQL Serverライセンスが必要であり、フェールオーバークラスタ/ミラーには1つだけ必要です。

多数のデータベースに対してミラーリングを設定することは大きな苦痛になる可能性があります。また、WMIフェイルオーバーイベントに関するアラートを使用して、これを達成するために必要な作業やメンテナンスが必要です。おそらくもっと複雑に思えることがあるかもしれません。

関連する問題