SQL Server 2012および2014は、この機能を提供するAlwaysOn可用性グループを提供していることを知っていますが、 mは、しばらくの間、SQL Server 2008 R2にとどまっています。
私は最近このAWSホワイトペーパーに出くわしました: http://media.amazonwebservices.com/AWS_RDBMS_MS_SQLServer.pdf
11ページのこのチャートに戸惑いました: これは、ログシッピングを使用するときと同じように、ミラーデータベースを読み取りに使用できることを示しているようです(「読み取り可能なコピー」機能の列のチェック)。これは、ミラーデータベースをまったく使用できないというのが私の経験です。これはフェイルオーバーのみを目的としています。
この質問への答え: データベースミラーリングは元のデータベースに限定されます は、ミラーデータベースが読み取り可能ではないという疑念を裏付けているようです。
このホワイトペーパーは間違っていますか、それともSQL Server 2008 R2ミラーデータベースは実際に読み取り可能ですか?
そうである場合、SSMSで接続しようとするとマスターデータベースに接続されたウィンドウが表示され、USE [database]
を実行すると次のエラーが発生するため、何をする必要がありますか。
Msg 954, Level 14, State 1, Line 1
The database "database" cannot be opened. It is acting as a mirror database.
更新:私はこの問題の一種の回避策と、読み取り可能なミラーから遅延されたものを取得する方法があることを理解しています。ログ配布やトランザクションレプリケーションで取得する読み取り可能なコピーの種類とは非常に異なります。どちらかが少し古くても、両方とも自動的に更新されるためです(スナップショットも多すぎる可能性があります-行き詰まっていますStandard Editionなので、Enterprise Edition機能セット)。それに加えて、真に読みやすい同期ミラー(AlwaysOn可用性グループを2012年以降に使用するなど)完全に同期された読み取り可能なバージョンが提供されます。これは、ミラーを使用して読み取りクエリの負荷を分散し、古いデータが返されるというすべての問題を回避できるため、FARの方が便利です。私の主な目的(上記の質問で述べたとおり)は、実際にはミラー自体(スナップショットやそのレプリカではない)の可読性について明確な回答を得ることでした。提供された回答は私の経験に同意しますが、提供された決定的なソースへのリンクは、同様の結果を達成するための可能な方法のみです。どちらも、ミラーが読み取り不可能であると明確に述べていません。そのようなリンクを提供する最初の回答を受け入れます。
SQL Server 2008 R2ミラーそれ自体は読み取り可能ではありません。
Enterprise Editionを使用している場合は、ミラーから名前付きのsnapshot databaseを作成できます。これにより、更新を行わないほとんどすべてのクエリに使用できる、特定の時点で読み取り可能なデータベースを作成できます。 (別のデータベース(tempdbまたはworkdb)を使用して、読み取り専用のスナップショットに合わない補助的な作業を行うことはできますが。)
参照: https://msdn.Microsoft.com/en-us/library/ms175158(v = sql.105).aspx
スナップショットが十分に「古く」なったときに、新しいスナップショットデータベースを作成します。最終的には古いスナップショットを削除する必要がありますが、複数のスナップショットをサポートすることは可能です。 (これは、データベースとサーバーのアクティビティの量によって異なります。)
Standard Editionを使用しており、同じニーズがある場合は、RESTOREとSTANDBYを使用してlog shippingを調べます。 STANDBY機能を使用するには、次回の復元がいつ行われるかを管理する必要があります。
参照: https://msdn.Microsoft.com/en-us/library/ms178615.aspx
STANDBYオプションについては、次のように述べています。「スタンバイファイルを使用すると、データベースをトランザクションログリストア間の読み取り専用アクセス用に起動でき、ウォームスタンバイサーバーの状況や、データベースの検査に役立つ特別なリカバリー状況で使用できます。ログの復元の間。」
したがって、この方法では、この特定の時点での動作を維持する期間のスケジュールに合わせて、ログの復元を遅らせる必要があります。 LOG復元は、スタンバイを終了し、次のポイントに復元します。これは、新しいスタンバイ期間で復元できます。
ニーズに応じて、これらのアプローチのいずれかにより、読み取り可能なポイントインタイムデータベースを提供できます。 (a)スナップショットの期間、または(b)更新を復元する間の期間は、データベースに更新が表示されません。
ミラーは読み取り可能ではありませんが、レプリケーションでは「サブスクライバー」への読み取りアクセスと書き込みアクセスの両方が許可されます。サブスクライバー(スレーブ)は、パブリッシャー(マスター)データベースのコピーです。
サブスクライバーでのデータの更新 セクションからコピーします。
マージレプリケーション
ピアツーピアトランザクションレプリケーション
サブスクリプションの更新を伴うトランザクションレプリケーション