SQLサーバー2012のメモリ使用量を調べています。私は、以下のクエリSQLサーバーメモリ調査
SELECT c.counter_name, c.cntr_value/1000 AS 'Memory (Mb)'
FROM sys.dm_os_performance_counters c
WHERE c.counter_name IN ('Free Memory (KB)', 'Total Server Memory (KB)', 'Target Server Memory (KB)');
SELECT DB_NAME(database_id) AS 'Database', COUNT(*) * 8/1024 AS MBUsed
FROM sys.dm_os_buffer_descriptors
GROUP BY database_id
ORDER BY COUNT(*) * 8/1024 DESC
そして、それの結果を走った:最初のクエリから
=========================================
counter_name Memory (Mb)
=========================================
Free Memory (KB) 5453
Target Server Memory (KB) 28311
Total Server Memory (KB) 24303
=========================================
Database MBUsed
=========================================
DB1 7369
DB2 3924
tempdb 386
WSS_UsageApplication 244
SharePoint_Config 107
DB3 95
あなたは、私が使用されるようにSQL最大メモリ割り当て28311 MBでいることを見ることができる、それが私に語りました同じクエリからの現在の合計使用量は24303 Mbです。しかし、2番目のクエリを実行して、24303Mbがデータベースで使用されているものが何であるかを調べると、クエリのすべての値の後に24303Mbにも近くなりません。
ここで私は何が欠けていますか?
バッファプールは、SQL Serverがするメモリを必要とすることを唯一のものではありません。 * one *の例では、プランキャッシュもあります。 –
どのようにどのデータベースをどのような種類のメモリにするのですか?私がやりたいことは、SQLサーバの最大メモリサイズをどれくらい設定するかを決めるのを助けるだけです。 –
@KashifKhan、最大メモリは 'physical_memory_available-os_memory_needs-other_application_needs'に設定する必要があります。どのようにデータベースの使用率を下げることがあなたの決定に役立つかはわかりません。この質問は、プログラミングに関連していないので、dba.stackexchange.comに適しています。 –