2012-03-26 110 views
3

我感興趣的是可以針對SQL Server 2008運行的查詢,它可以告訴當前進程(以及運行它們的用戶)執行的內存使用情況。任何幫助,將不勝感激。謝謝。SQL Server 2008內存瓶頸

+0

您有完整版本的SQL Server?如果是的話,你可以使用Profiler。 – Ezi 2012-03-26 17:43:29

+0

查看Adam Mechanic出色的[sp_WhoIsActive](http://sqlblog.com/files/folders/beta/entry42453.aspx) – Andomar 2012-03-26 17:45:52

+0

ADmins屬於http://dba.stackexchange.com/,我們需要將http://dba.stackexchange.com/添加到地點列表中,以便在您認爲該地點不在本地的位置時移動主題。 – HLGEM 2012-03-26 19:41:37

回答

1

你可以嘗試這樣的事情:

SELECT * 
FROM sys.dm_exec_requests 
    CROSS APPLY sys.dm_exec_sql_text(sql_handle) 

或者,你可能會遇到:

sp_who 

看到所有的用戶和進程

但是,正如EZI說,你可以只使用SQL Server Profiler工具並運行跟蹤。

4

告訴當前進程

這太普通了,不能回答的內存使用情況。幾乎SQL中的所有內存都在'進程'(查詢)之間共享,並且不能歸因於單個進程。可以清楚地歸因於查詢的唯一重要的內存消耗是內存授權,並在sys.dm_exec_query_memory_grants中公開。我建議你也讀一下Buffer Management