2017-06-13 13 views
1

トランザクションログファイルは毎日非常に大きなサイズになっています。SQLトランザクションログの増加

私のストアドプロシージャのいくつかのやり方であり、どのように問題を作成する可能性がある挿入を行うのですか?

クエリを書き直してログサイズを最小限に抑える方法はありますか?

ログサイズがさらに大きくなるようなクエリがありますか?

+2

あなたはそれをバックアップしたり、それを縮小しない限り、ログファイルには、継続的に成長するだろう - それは、データベース内のすべての変更を記録します。 1日を通してバックアップをスケジュール設定してリセットすることができます – dbajtr

答えて

2

ログファイルが大きくなる場合は、さまざまな検討事項があります。私はあなたの論理は、読み取り/書き込み知ったら、いただきました!SPまたはクエリのインパクト、フォローアップすることができます)

SELECT TOP 5 t.TEXT AS 'SQL Text' 
    ,st.execution_count 
    ,ISNULL(st.total_elapsed_time/st.execution_count, 0) AS 'AVG Excecution Time' 
    ,st.total_worker_time/st.execution_count AS 'AVG Worker Time' 
    ,st.total_worker_time 
    ,st.max_logical_reads 
    ,st.max_logical_writes 
    ,st.creation_time 
    ,ISNULL(st.execution_count/DATEDIFF(second, st.creation_time, getdate()), 0) AS 'Calls Per Second' 
FROM sys.dm_exec_query_stats st 
CROSS APPLY sys.dm_exec_sql_text(st.sql_handle) t 
ORDER BY st.total_elapsed_time DESC 

2次のSQLを使用し、高い衝撃クエリを探す)段階的なチェックリストに

1をたどりますそれを最適化する。

3)あなたは、常にログファイルを縮小することができますが、私はあなたがそれは最小限になりますと思われる場合、ログファイルを縮小における考慮点(prod環境、実行時間、他のユーザーのためのインパクト)

4)を分析言うでしょうこのSQL DBCC SHRINKFILE (N'My DB_Log' , 1000) ログファイル 使用を縮小の衝撃、ログファイルのサイズを確認し、私は文句を言わない1 に縮小詳細 DBCC SHRINKFILE on log file not reducing size even after BACKUP LOG TO DISK

0

ために、このブログを読んでくださいがありますしない限り、トランザクションログファイルを縮小しないでくださいそれには正当な理由があります。 TLogが毎日増えている場合は、まずTLogバックアップの頻度を増やしてください。まだTLogが毎日増えているのを見ているなら、vlogヘッダーがファイルの先頭に戻るのを防ぐ問題が発生している可能性があります。これは、多くの場合0というステータスのレコードがDBCC LOGINFOに続いて返される最初のレコードとして表示されます。この問題を解決するには、同様のDBA.SE質問hereに回答することができます。

1

バックアップ戦略が何であるか、または復旧要件については言及していません。あなたが本当にポイントを復元する必要がなく、通常のバックアップポイントに復元できることに満足している場合は、リカバリモードを簡単に設定することも考えられます。

ほとんどのシナリオではおそらく推奨されませんが、可能性があります。

詳細なログが必要な場合、他の人は、あなたのtlogバックアップとファイルの成長とのバランスを取る必要があると言われています。ログファイルが大きくなり過ぎてしまった場合は、あまりにも速くしてください。レッドゲートから

記事:https://www.simple-talk.com/sql/learn-sql-server/managing-transaction-logs-in-sql-server/

関連する問題