質問

最新のデータを含む1つのデータベースがあり、データベースコンテンツを他のサーバーに複製したい。技術的な理由ではないため、レプリケート関数または同期関数を直接使用して他のSQL Serverインスタンスと同期することはできません。

現在、2つのソリューションがありますが、各ソリューションの長所と短所を学びたいと思います。ありがとう!

解決策1:最新のデータを含むソースデータベースをデタッチし、最新のデータが必要な宛先サーバーにコピーし、宛先サーバーにデータベースを接続します。

解決策2:データベース全体のソースサーバーの完全バックアップを作成してから、データを宛先サーバーにコピーし、宛先サーバー側で完全に復旧します。

事前に感謝、 ジョージ

役に立ちましたか?

解決

新しいファイルを作成する必要がないため、多くの場合、[分離] / [添付]オプションはバックアップを実行するよりも高速です。したがって、サーバーAからサーバーBへの時間は、ほぼ純粋にファイルのコピー時間です。

バックアップ/復元オプションを使用すると、完全バックアップを実行し、それを復元してから、差分バックアップを実行できます。つまり、2つの間でダウンタイムを短縮できます。

データ複製の場合、両方の場所でデータベースを機能させたいということですか?その場合、現在のデータベースを完全に機能させるため、おそらくバックアップ/復元オプションが必要になります。

編集:いくつかのポイントを明確にするだけです。ダウンタイムとは、データベースをあるサーバーから別のサーバーに移行する場合、一般的に、転送中にデータベースの使用を停止することを意味します。したがって、「停止」からサーバーAで「開始」までポイントします。サーバーBを指します。これはダウンタイムと見なされます。そうしないと、転送中にサーバーAのデータベースで実行されたアクションはサーバーBに複製されません。

「新規ファイルの作成」に関して。データベースをデタッチした場合、MDFファイルをすぐにコピーできます。すでにコピーの準備ができています。ただし、バックアップを実行する場合は、.BAKファイルが作成されるのを待ってから、復元のために新しい場所に移動する必要があります。繰り返しになりますが、これはスナップショットコピーまたは移行です。

他のヒント

代わりに接続解除オプションから数分余分に探し出す場合でも、バックアップと復元の方がはるかに理にかなっています。デタッチする前に元のデータベースをオフラインにする(全員を切断する)必要があり、その後、再アタッチするまでデータベースを使用できません。また、すべてのファイルを追跡する必要がありますが、バックアップではすべてのファイルがグループ化されます。また、SQL Serverの最新バージョンでは、バックアップが圧縮されています。

そして何かを修正するために:DBバックアップと差分バックアップはログを切り捨てず、ログチェーンを破壊しません。

さらに、COPY_ONLY機能は差分ベースにのみ関係し、LOGには関係ありません。すべてのログバックアップは、ログチェーンに破損がないことを前提として、任意のバックアップから順番に適用できます。アーカイブポイントとわずかな違いがありますが、それがどこで重要かはわかりません。

Solution 2が私の選択です。主に、ソースデータベースでダウンタイムが発生しないためです。私が見ることができる唯一の欠点は、データベース復旧モデルによっては、トランザクションログが切り捨てられることです。つまり、詰め込むトランザクションログからデータを復元する場合は、バックアップファイルを使用する必要があります。

編集:素敵なリンクが見つかりました。 http://sql-server-performance.com/Community/ forums / p / 5838 / 35573.aspx

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top