2017-06-16 11 views
0

初めて3層アーキテクチャを準備する(IIS/SQL Server)。私は最初の2つのアプリケーションサーバーを追加したいと思います。これまでDB MirrorとLog Shippingを経験したことがあります。StandardとEnterprise Edition SQL Server 2016 SP1 ReadOnlyレプリカ

私が読んだところから、DB Mirrorは廃止された機能であり、私はそれを使用したくありません。ただし、クライアントがSQL Server 2016 SP1 Standard Editionライセンスを購入した場合、2番目(唯一)の複製は読み取り専用ではなく、アクセスできません。

(プライマリをオフロードする)読み取り専用クエリには、セカンダリレプリカを使用したいと考えています。私は数秒(一分)のデータ同期の遅延でOKですが、私は常にセカンダリレプリカからの応答を得たいと思います。私が正しく理解していれば、Basic 2ノードのAOAGでこれを達成する方法はありませんか?

バックアップ/コピー/リストア(論理ログの適用)シーケンスは、ほんの少しの間隔で意味がありませんので、おそらくオプションはありません。 HA機能とパフォーマンス機能を混在させている場合は、私が必要とするものを達成している限り、RO用のサーバーを追加することもできます(1つのレプリカがHA機能として機能し、もう1つのタイプはROインスタンス)私はまた、DBを遠隔地に複製する必要がありますが、ログ配送がここで仕事をすると思います(AOAGとログ配送の両方に同時に対応するインスタンスは1つもないと思いますが、論理ログを適用するか、両方のログ配布とAOAGのための二次、ERRORまたは遅延(上糸をやり直しながら)

はさらに私がお願いしたいと思い、何の応答クライアントが受け取る?

我々はいくつかのタイムアウト(待機遅延を置くことができます)クライアント側では、私はそれがRWインスタンスからの読み取りを実行します。

質問:

だから、長い話短い、私はソフトウェアの標準版を使用している場合に、読み取りのために常に利用できるようになりますインスタンスに「連続トランザクションログの復元」のような何かを達成することができる任意の方法はありますか?

ありがとうございます。 アレク

+1

スタックオーバーフローは、特定のプログラミングに関する質問です。これはデータベース管理の質問であるため、[データベース管理者スタックエクスチェンジ](https://dba.stackexchange.com/)ページに属しています。 –

答えて

0

あなたは以下、に従う必要があるいくつかのルールがそれらmirroring..thereされているだけのよう

1.レプリカの役割ではないでは、プライマリまたはセカンダリのどちらかでなければならない二次のスナップショットを作成することができますRESOLVING状態。

また、Microsoftの状態

以下のいくつかは、常に可用性グループの条件では、一時的にユーザーを切断、ソース・データベースとそのデータベーススナップショットの両方を再起動する原因となります。

プライマリレプリカは、現在のプライマリレプリカがオフラインになり、同じサーバーインスタンスでオンラインに戻ったり、可用性グループがフェールオーバーしたりするため、ロールが変更されます。

データベースが2次ロールに入ります。

データベーススナップショットをホストする可用性レプリカがフェールオーバーされた場合、データベーススナップショットは作成されたサーバーインスタンス上に残ります。ユーザーは、フェールオーバー後にスナップショットを引き続き使用できます。ご使用の環境でパフォーマンスが問題となる場合は、手動フェイルオーバー・モード用に構成されたセカンダリ・レプリカによってホストされるセカンダリ・データベースでのみデータベース・スナップショットを作成することをお薦めします。可用性グループをこのセカンダリレプリカに手動でフェールオーバーする場合は、別のセカンダリレプリカで新しいデータベーススナップショットのセットを作成し、クライアントを新しいデータベーススナップショットにリダイレクトし、すべてのデータベーススナップショットを今のプライマリデータベースから削除できます。使用

参考文献:
https://docs.microsoft.com/en-us/sql/database-engine/availability-groups/windows/database-snapshots-with-always-on-availability-groups-sql-server

0

私は、標準版を使用している場合に、読み取りのために常に利用できるようになりますインスタンスに「連続トランザクションログの復元」のような何かを達成することができますどのような方法がありますソフトウェア?

スタンダードエディションは、プライマリデータベースの全部または一部のほぼリアルタイムで読み取り可能な(論理的な)レプリカを作成するために使用できるトランザクションレプリケーションをサポートしています。 TRでは、サブスクライバに適用されるDML文を再構築するためにログ・レコードが読み取られるため、物理的なレプリケーションではなく論理的です。通常、高可用性のためにトランザクションレプリケーションは使用されません。論理ログを適用するか、二次、エラーや遅延のスレッドをやり直しながら、クライアントは、ログ配布とAOAGの両方のために(受信どんな応答?

をログ配布またはデータベーススナップショットのすべてのクライアントが切断されなければなら読ん

時間に前方レプリカをロールする。あなたはhereを説明するように、いくつかの複雑さの費用でこれを緩和するためにシノニムを使用することができます。のAlwaysOn可用性グループ読めるレプリカの

を、レプリカはログレコードが適用されるとして連続的に読み取り可能である。

関連する問題