【SQL Serverログの操作】トランザクションログの使用量を確認する方法

トランザクションログはご存知でしょうか。普段からSQL Serverに関わる仕事をされている方でしたら、きっと理解されているはずです。トランザクションログはとても大切なことですので、ここでトランザクションログの概要やT-SQLを利用してのログ使用量の確認方法などを一緒に確認していきましょう。
- SE
- トランザクションログってデータベースを復旧させる時とかに必要となる大切なログファイルのことですよね?
- PL
- そのとおりです。知っている方も多いでしょうが、ここで改めてこのログの概要やログの使用量、空き領域の取得方法などを確認していきましょう。
トランザクションログの概要
トランザクションログとは、データベース毎に発生したトランザクションとそれらのトランザクションによって加えられた変更がすべて記録されたとても大切なログファイルです。
システム障害が発生した場合、データベースを一貫性のある状態に戻すために、このログファイルが必要となってきます。
トランザクションログは少なくとも1つのファイルで構成されています。ファイルの拡張子は「.ldf」です。複数のファイルで構成されている場合でも、1ファイルずつ利用され、同時に2つ以上のファイルが利用されることはありません。
sys.dm_db_log_space_usageで使用量を確認する方法
トランザクションログの使用量を確認します。確認する場合は、sys.dm_db_log_space_usageテーブルから情報を取得します。まずは、sys.dm_db_log_space_usageで準備されている全カラムを取得して確認しましょう。
1
|
SELECT * FROM sys.dm_db_log_space_usage
|
取得内容
データベースID | ログのサイズ | ログの占有サイズ | ログサイズの合計に対するログの占有サイズ | 前回のログバックアップ以降に使用された領域のサイズ |
database_id | total_log_size_in_bytes | used_log_space_in_bytes | used_log_space_in_percent | log_space_in_bytes_since_last_backup |
8 | 8380416 | 776704 | 9.268085 | 113152 |
ここで重要なのが、「ログのサイズ」カラムと「ログの占有サイズ」カラムです。この両カラムからログの使用量を確認し、またログの空き領域のサイズも同時に確認できます。
次に、上記の結果をふまえログの空き領域を確認しましょう。
1
2
|
SELECT (total_log_size_in_bytes - used_log_space_in_bytes)*1.0/1024/1024 AS [free log space in MB]
FROM sys.dm_db_log_space_usage
|
取得内容(メガバイトで表示されます)
ログの空き領域(メガバイト) |
free log space in MB |
7.25146484375 |
- SE
- トランザクションログの状況を把握することは大事なことですよね。新人の頃はSQLをコーディングするだけでも一苦労でしたが、こういったこともすぐに確認できて一人前のエンジニアですね。
- PL
- 実際にトランザクションログのことまで把握できているエンジニアは一握りだと思います。ですが、こういったことまで把握できているエンジニアになってこそ、一流のエンジニアだと思います。積極的にトランザクションログについても学習していきましょう。
トランザクションログについての理解はお早めに
データは企業にとってとても大切な資産です。この資産を守ることもシステムエンジニアの大切な使命です。トランザクションログについての理解を深めることは、データを守る上で欠かすことできない知識だと思いますので、トランザクションログについての理解は今すぐにでも深めていきましょう。
Search キーワード検索
Popular 人気の記事
-
【VB.NET入門】DataGridViewの使い方まとめ
公開: 更新:
reccomended おすすめ記事
-
【.NETが統合】.NET 5の概要と今後のリリース予定
公開: 更新:
Categories 連載一覧
Tags タグ一覧
Jobs 新着案件
-
蔦屋書新店オープンに関するアプリ開発/Oracle/東京都渋谷区/【WEB面談可】/在宅勤務
月給56万~59万円東京都渋谷区(神泉駅) -
資産運用会社向け残高管理システム運用保守/SQLServer/東京都中央区/【WEB面談可】
月給50万~60万円東京都中央区(銀座駅) -
資産運用会社向け残高管理システム開発のテスター/SQLServer/東京都中央区/【WEB面談可】
月給25万~35万円東京都中央区(銀座駅) -
放射線部門システムパッケージの運用保守/Oracle/東京都港区/【WEB面談可】
月給50万~60万円東京都港区(品川駅) -
放射線部門システムパッケージの開発のテスター/Oracle/東京都港区/【WEB面談可】
月給25万~35万円東京都港区(品川駅) -
営業フロントシステム運用保守/ASP.NET/東京都江東区/【WEB面談可】
月給50万~60万円東京都江東区(木場駅)