BACKUP DATABASE の STANDBY 句と同じように、BACKUP DATABASE を実行せずに SQL Server データベースをスタンバイ読み取り専用モードにする T-SQL の方法があるかどうか知っている人はいますか?
背景: SQL Server 2005 Workgroup Edition に自作のログ配布セットアップがあります。圧縮バックアップを実行するサード パーティのバックアップ ユーティリティを見つけました。これは BACKUP DATABASE よりも高速で、ファイルもかなり小さくなりますが、データベースをスタンバイ/読み取り専用モードにする機能がありません。障害復旧テストを行うときに、フェールオーバーのためにこの機能が必要です。フェールオーバーして (現在アクティブな) スタンバイ サーバーからプライマリ サーバーにログ配布すると、最初からやり直すのではなく、テストの最後にもう一度フェールバックするだけで済みます。サード パーティ ツールの代わりに BACKUP DATABASE を使用してログ テール バックアップを実行することもできますが、その必要がない方がクリーンです。
答え1
いいえ、同時にバックアップからデータベースを復元せずにデータベースをスタンバイ モードにする方法はありません。データベースが書き込み可能になると、LSN チェーンが壊れているため、ログを再度復元する準備ができなくなります。
答え2
お使いいただけますか
ALTER DATABASE your_database SET READ_ONLY
次に使用する
ALTER DATABASE your_database SET READ_WRITE
いつ元に戻したいですか?
答え3
正直に言うと、私はあなたの他の投稿(バックアップ ソフトウェアについて)に返信しましたが、今この質問を読んで、あなたが使用しているバックアップ ソフトウェアについて少し心配しています。
これは、「複雑すぎる」ソリューションが将来的に実際に災害につながる可能性があるものの 1 つです。使用しているバックアップ ソフトウェアについては何も知りませんが、Google で簡単に検索すると、いくつかの悪いレビュー (残念ながら古いレビュー) が見つかりました。
わかりません。MS SQL Server にバックアップを任せるのではなく、このバックアップ ソフトウェアを使用する特別な理由があるのでしょうか?
速度とディスク容量は、データの整合性と信頼性よりもそれほど重要ではないでしょうか?
何か見逃しているのでしょうか?
おそらくポール・ランドールもここで意見を述べたいと思うかもしれません。