私はMS SQL Serverを実行しています。MSSQL Serverは、それぞれサイズが110 GBと245 GBのmdfファイルとldfファイルを保持しています。
私の質問は、上記のデータベースの.bakバックアップを取得すると、355 GB(110 + 245)サイズのバックアップファイルになるか、またはmdfバックアップのみが含まれるかということです。
ハードディスクにこれほどの容量がないので、これを知る必要があります。
SQL 2008 R2標準版を使用しています
完全バックアップには、両方のファイルで使用されているすべてのページが含まれます(完全バックアップを復元することで、これに納得できます。新しいファイルは同じサイズのコンテンツで同じサイズになります。つまり、バックアップに必要な情報が含まれている必要があります。それを達成する)。両方のファイル、特にトランザクションログには、ファイルシステムから割り当てられているが、現在データベース内のオブジェクトに割り当てられていないブロックが含まれているため、実際のファイルの合計サイズよりも小さくなります。
完全バックアップのサイズの指標を取得するには、そのデータベースでEXEC sp_spaceused
を実行します。たとえば、私のデータベースの1つでは、これはdatabase_size = 70015.81 MB
およびunallocated_space = 2768.83 MB
を返すため、完全バックアップのサイズは約67247 MBになります。ログの例のサイズでは、最近バックアップを作成していない限り、ログファイルに割り当てられていないスペースのログが存在するため、バックアップサイズに影響はないはずです。
SQL Server 2008R2以降(または2008 Enterprise Edition)を使用している場合は、WITH COMPRESSION
オプションを使用してバックアップを圧縮できます。これにより、一般にmuchが小さくなります。これはもちろんCPU時間を消費しますが、実際に含まれるIOの量を減らすことにより、バックアップを取るプロセスをより速くするかもしれません。
.bakファイルにはldfファイルのバックアップも含まれていますか?
いいえ、ldfファイルのbackupは含まれていません。完全なバックアップではなく、いくつかの情報が含まれている場合があります。
完全バックアップまたは差分バックアップには、バックアップのデータ読み取り部分が終了した時点(またはトランザクションレプリケーションの最も古いログレコードまで)で、データベースをトランザクションの一貫性のあるビューに回復するのに十分なログが含まれています。まだ処理されていません–復元後に複製が正しく機能することを確認します)。
私の質問は、上記のデータベースの.bakバックアップを取ると、355 GB(110 + 245)サイズのバックアップファイルになるのですか、それともmdfバックアップしか含まれていないのですか?
完全バックアップには2つのものが含まれるため、355Gにはならないでしょう。
データファイルに存在する完全なデータ。空き容量はバックアップに含まれません。
このバックアップが復元されたときにデータベースを一貫した状態にするための少量のトランザクションログ。
Paulは彼の記事で説明しています フルバックアップに含まれるトランザクションログの量
もっと学ぶために
使用しているSQL Serverのエディションによっては、 バックアップ圧縮 を使用して、バックアップサイズをさらに削減できます。