Sql-Server-2005
關於 DBCC FREEPROCCACHE 的問題
我使用 spAskBrent 來解決 SQL Server 2005 性能問題。
我發現問題是有人執行了 DBCC FREEPROCCACHE。它導致我的數據庫性能低下(PLE 非常低)並且查詢超時。
如何找出誰執行了查詢以釋放計劃記憶體?
default trace
如果在實例上仍然啟用它,您應該能夠在 SQL Server 中找到它。擷取的事件之一是,可以在此處Security Audit: Audit DBCC Event
閱讀有關該事件的更多資訊。如果您發現預設跟踪已啟用,請從 MSSQLTips.com 文章中查詢以下查詢,以查找 DBCC 的執行時間:
DECLARE @path NVARCHAR(260) SELECT @path=path FROM sys.traces WHERE is_default = 1 --Security Audit: Audit DBCC CHECKDB, DBCC CHECKTABLE, DBCC CHECKCATALOG, --DBCC CHECKALLOC, DBCC CHECKFILEGROUP Events, and more. SELECT TextData, Duration, StartTime, EndTime, SPID, ApplicationName, LoginName FROM sys.fn_trace_gettable(@path, DEFAULT) WHERE EventClass IN (116) AND TextData like 'DBCC%CHECK%' ORDER BY StartTime DESC