web-dev-qa-db-ja.com

仮想ログファイル(VLF)の断片化

160 VLFのデータベースがあります。 VLFがフラグメント化されているかどうかをどのように判断しますか?さらに、断片化の割合を見つけるにはどうすればよいですか?

確認したいもう1つのこと:次の3つのステートメントは、SQLサーバーの仮想ログファイルに新しく追加されたチャンクに常に当てはまりますか?

  1. 64MB未満から64MBまでのチャンク= 4 VLF
  2. 64MBより大きく1GBまでのチャンク= 8 VLF
  3. 1GBを超えるチャンク= 16 VLF
6
AA.SC

VLFはSQLサーバーによって内部的に完全に管理されています。私はそこのサイズについて話しています。データベースに大量のVLFがある場合、それは良い兆候ではありません。大量のVLF as VLF fragmentation。 of VLFは、データベースに対して自動拡張の設定が適切でないために、データベースが大きくなり、新しいvlf到達時間を割り当てる必要があるという事実に起因する可能性があります。もちろん、VLF =サイズは小さく、最終的には多くなります。160 VLF=カウントは私には問題ではないようです。以下のブログは、さらに理解するのに役立ちます

http://www.sqlskills.com/blogs/kimberly/transaction-log-vlfs-too-many-or-too-few/

2
Shanky

特に160のVLFで、VLFの数に悩まされることはありません。 VLFが1000年代にある場合は、24時間365日の環境では苦痛になる可能性があるため、取り組むべき項目のリストに追加します。

Dbログの断片化はシーケンシャルなので問題にはなりません。非常に小さなチャンクで成長している場合は、メンテナンスウィンドウを待ってログをバックアップし、ログを数MBに減らしてから、適切なサイズのチャンクを増やします。これらは、予測されるログのサイズによって異なります。

明確で簡潔なVLFに関する素晴らしい説明をリンクしました(チャンクの観点から質問に答えるためにVLFのサイズも参照します)

http://adventuresinsql.com/2009/12/a-busyaccidental-dbas-guide-to-managing-vlfs/

1
DamagedGoods

VLFのサイズがどのように大きくなるかについては正しいです。 Jes Borlandが提供する次のビデオで、ちょっとした情報を確認してください。

SQL Serverの動作:ログファイル(ビデオ)

1
Sean Perkins

上記のように、1000でない限り、VLFの数については心配しません。データファイルの断片化とは異なりますが、非常に小さなチャンクにある場合は特に、断片化されたVLFとして非常に多くのVLFを呼び出す人もいます。 VLFが多すぎると、バックアップとリカバリのプロセスが遅くなる可能性があります。

ただし、VLFのサイズは、数値よりも重要です。また、VLFが小さすぎる(断片化されている)かどうかを判断するVLFのサイズを確認し、それに応じてDB自動拡張を更新できます。 VLF SQL Server 2014からの作成アルゴリズムに変更があります。 https://www.sqlskills.com/blogs/paul/important-change-vlf-creation-algorithm-sql -server-2014 /

0
Sajid