
当社では、VMware ESXi 上の VM として SQL Server 2016 サーバー上で ERP ソフトウェアを実行しています。現在、VM は 2 つのドライブで構成されており、データは 1 つに、ログはもう 1 つに保存されています。VM が破損したときに問題が発生したため、VEEAM バックアップに戻しました。復元にはかなり時間がかかりましたが、正常に完了しました。残念ながら、約 4 時間分のデータが失われました。また、トランザクション ログがサーバーとともにダウンしたため、トランザクション ログから復元できませんでした。
そこで、トランザクション ログを別のネットワーク共有に書き込むことを考えました。しかし、テスト データベースで設定しようとすると、SQL Server ではそれが許可されていないようです。
これを実現する方法はありますか? パフォーマンスに大きな影響はありますか? もっと良い方法はありますか?
答え1
これを実現する方法はありますか?
はいですが、おそらくこれをしたくないでしょう。トレースフラッグ 1807SQL Server でデータ ファイルとログ ファイルに UNC パスを使用するようにするには、次の手順に従ってください。ただし、そのドキュメントには次のように記載されています。
Microsoft では通常、Microsoft SQL Server データベース ファイルの保存にはストレージ エリア ネットワーク (SAN) またはローカルに接続されたディスクを使用することをお勧めします。この構成により、SQL Server のパフォーマンスと信頼性が最適化されるためです。
(リンクされたドキュメントでは、SQL 2016 ではこれがデフォルトで許可されるはずであると記載されていますが、「SQL Server では許可されていないようです」という点について詳しく説明する必要があります。)
パフォーマンスに大きな影響はありますか?
場合によりますハードウェアによって異なります。ローカル ストレージが ESXi ホスト内の回転ディスク、SAN 上、または他の場所にあるかによって異なります。また、使用を検討しているネットワーク共有の基盤となるストレージによっても異なります。最終的には同じハードウェアから開始される可能性があり、その場合、パフォーマンスの違いは VMware のオーバーヘッドに多少影響する可能性があります。Microsoft は、上記のリンク先のドキュメントでパフォーマンスに関する考慮事項について詳細に説明しています。
もっと良いアプローチはありますか?
はい
トランザクション ログ ファイル自体 (通常は*.ldf
) は、災害からの復旧に使用するものではありません。 トランザクション ログ ファイル自体は、サーバーのローカルに置くのが適切です。 また、*.mdf
あなたが行ったように、トランザクション ログ ファイル (通常は ) をデータ ファイルとは別のドライブに置くのもよい方法です。
災害が発生してバックアップから復元する必要がある場合、まずフルバックアップから復元し、次に差分バックアップから復元し、さらにトランザクションログバックアップから復元します。したがって、バックアップサーバーから離れた場所に書き込むか、または、最低限、ローカルに書き込む必要がある場合は、すぐに他の場所にコピーするプロセスを用意してください。ご存知のように、多くの種類の障害により、すべてのローカル データが使用できなくなります。
適切なバックアップ メカニズムを確立する方法に関するチュートリアルは数多くあります。ブレント・オザー・アンリミテッド良いものがいくつかあります。