Sql-Server
確定異常事務日誌增長的原因
我有一個在 SQL Server 2008 上執行的應用程序(它是一個集群,但沒有故障轉移。)
以前,事務日誌過去每 2-3 天增長到 10-20GB。我們會縮小它(在備份之後)讓它再次填滿。在過去的幾周里,日誌一直以每天 20GB 的速度增長;我們不相信我們已經更改了應用程式碼,所以想知道是什麼過程導致了增長率的增加。
辨識導致事務日誌大小最大增加的事務的好策略是什麼?
備份或縮小文件將釋放磁碟空間。我只是認為這只是解決實際問題的創可貼。應用程序正在做更多的事情;從而使用比以前更多的資源。
此 SQL 顯示具有大多數“logical_writes”的查詢:
SELECT TOP 100 st.text, execution_count, total_elapsed_time, total_worker_time, total_logical_reads, total_logical_writes, total_physical_reads, total_clr_time, creation_time, last_execution_time, pl.query_plan FROM sys.dm_exec_query_stats ps with (NOLOCK) Cross Apply sys.dm_exec_sql_text(ps.sql_handle) st Cross Apply sys.dm_exec_query_plan(ps.plan_handle) pl ORDER BY total_logical_writes desc OPTION (RECOMPILE);
這個 T-SQL 可以幫助找到方向,但它並不是你真正要求的,因為邏輯寫!=寫。和邏輯寫入!= 日誌寫入。
為您的問題找到更完整的答案可能會非常有趣。