リカバリ/バックアップに関するBooksOnlineをいくつか読んだのですが、1つのばかげた質問ですが、バックアップ操作自体に完全データベースバックアップ/完全リカバリモデルを使用すると、ソースデータベースサーバーへの追加のトランザクションログが生成されますか?完全復旧操作により、宛先データベースへの追加のトランザクションログが生成されますか?
2 に答える
これについてのより有用な見方は、完全復旧により、トランザクション ログの内容が上書きされるのを防ぐために、他のアクションが上書きされるのを防ぐことができると言うことができます。
SQL Server はほとんどのトランザクションをログに記録し (例: バルク ロードとその他のいくつか)、シンプル リカバリ モードで実行している場合、新しく作成されたログの内容は、トランザクションの作成に関連するトランザクションの最後で効果的に破棄されます。フル リカバリ モードで実行している場合、トランス ログの内容は、上書き可能としてマークされるまで保持されます。それらを上書き可能としてマークするには、通常、バックアップ (フルまたはトランス ログ) を実行します。
トランス ログにスペースがなく、上書きできるとマークされたログ コンテンツがない場合、SQL Server はログのサイズを増やそうとします。
実際には、フル リカバリでは、トランザクション ログを管理する必要があります。通常、トランス ログ バックアップを頻繁に実行します (作業する SLA がない場合や、バックアップの頻度を決定する他のドライバーがない場合は、経験則として 1 時間ごとが適切です)。これを行う)
あなたの質問を完全に理解しているかどうかはわかりませんが、ここに行きます。DB を完全復旧モードにしておくと、トランザクション ログが非常に大きくなる可能性があります。トレードオフは、復旧ポイントまで復元できることです。
トランザクション ログが通常よりも大きい理由は、すべてのトランザクションが完全に記録されているためです。これには、一括ログ操作、インデックス作成などが含まれます。
ドライブの容量が問題にならない場合 (ドライブが非常に安価であるため、心配する必要はありません)、これが推奨されるバックアップ方法です。