web-dev-qa-db-ja.com

SQLログファイル2TBでは十分ではありません。

これは架空の質問であり、回答から流れます by sepupic ここで、2TBがSQLログファイルの物理的な制限であることを説明しています。

2Tb以上必要な場合は、2番目のログファイルを追加します。

私は長い間、投稿で概説されているように、複数のログファイルは悪いと信じていました 複数のトランザクションログファイルとパフォーマンスへの影響

2 TBのログファイルが発生するシナリオを想像することはできませんが、発生した場合、何らかの理由でログバックアップを頻繁に実行しても修復されません(複数のシナリオが含まれます)、あなたは何をしますか?

2番目のログファイルを追加しますか、それとも他に何かありますか?

6
James Jenkins

複数のログファイルが悪い

複数のログファイルがbadであるわけではありません...複数のログファイルが完全に不要であるおよびメリットはありません... 2TBを超えるログファイルが必要な場合を除きます。

データファイルを使用すると、SQL Serverは複数のファイルから同時にI/Oを実行するため、複数のファイルを利用できます。ただし、ログファイルを使用すると、SQL Serverはどちらか一方にのみ書き込みます。ログファイルの循環的な性質は、2つのファイルを作成すると、SQL Serverは1つのファイルに書き込み、最後に到達し、次にもう1つのファイルに書き込み、最後に到達し、最初のファイルに戻る、などです。

複数のログファイルを用意しても、パフォーマンスは向上しません。

ただし、ログファイルのサイズは最大2TBになるという容量制限のため、2TBを超えるログファイルが必要な場合は、複数のログファイルを作成する必要があります。これが、複数のログファイルを作成するonly理由です。

なぜ2TBのログファイルが必要なのですか?

2TBのログファイルが発生するシナリオさえ想像できません

トランザクションログはフルバックアップ中に大きくなります なので、バックアップにログ時間がかかる非常に大きなデータベースがある場合、およびは非常にビジーですバックアップ中に、2TBを超えるトランザクションログが生成される場合があります。

同様に、非常に大きなログ実行トランザクション(非常に大きなテーブルでのインデックスの再構築など)がある場合、再利用する前に2TBのトランザクションログを生成することがあります。

もちろん トランザクションログはさまざまな理由で大きくなる可能性があります 。これらは、ログを非常に大きくするために必ずしも正常であるとは限りませんが、増大の一因となります。トランザクションログのバックアップが正常に完了していない場合、またはAGが同期していない場合、またはレプリケーションがログからトランザクションを読み取っていない場合は、ログファイルが大きくなります。これらの問題が続く場合、ログファイルは最終的に2TBに達します。

つまり、2 TBのログファイルが必要になることは非常にまれです

8
AMtwo

マイクロソフトでは、データベースごとに1つのLDFファイルのみをお勧めします。

このシナリオは非常に特殊です。ただし、次の操作を実行できます。

1. Run the BACKUP LOG [database_name] WITH TRUNCATE_ONLY command
2. Run USE [database_name]
3. Run sp_helpdb 'database_name'
4. Write down the FileID of the log files.
5. For each file run the DBCC SHRINKFILE (FileID) command.

お役に立てば幸いです:)

0

2番目のログファイルを追加しますか、それとも他に何かありますか?

または、適切なautogrowthサイズを設定し、ログファイルを大きくしたままにします。

それに対する制御はなく、ログファイルは2Tb、明示的に設定することはできませんが、ログファイルの増加を妨げるものはなく、空き領域はdiskのみです。

0
sepupic