Mikeは、受け取ったエラーメッセージは、SQL Serverからではなく、Management Studioアプリケーション自体からのものであることは正しいです。おそらく、クライアントアプリケーションに160億行をプルしようとするために使い尽くされたローカルワークステーションのメモリです(グリッド内の多くのデータのレンダリングはメモリの点で非常に高価なので、TOP
などを使用してクエリを制限してください。-とにかくすべてのローカルメモリを使い果たすのに十分なデータでどのような実用的なことができるのかわかりません)。
しかし、別の問題に対処したいと思います。タスクマネージャーを使用して、SQL Serverが使用しているメモリの量を評価します。これをしないでください。それは大胆な嘘つきです。この回答からコピーします(あなたの質問は2つあるので、重複として閉じることはできません):
タスクマネージャーを信頼して、SQL Serverが使用しているメモリ量を知ることは決してできません。この期間、タスクマネージャーの使用を停止します。パフォーマンスカウンターを使用します-DMVを使用してパフォーマンスカウンターを照会することもできます。
SELECT object_name, cntr_value
FROM sys.dm_os_performance_counters
WHERE counter_name = 'Total Server Memory (KB)';
[ツール]> [オプション]> [環境]> [キーボード]> [クエリショートカット]でクエリショートカットとして保存し、タスクマネージャーから不正確な結果を取得するよりもはるかに速くクエリウィンドウで正確な結果を取得できます。
これらのクエリを使用して、メモリの負荷(およびそれについて何かできるかどうか)も確認できます。
SELECT object_name, cntr_value
FROM sys.dm_os_performance_counters
WHERE counter_name IN ('Total Server Memory (KB)', 'Target Server Memory (KB)');
-- SQL Server 2012:
SELECT physical_memory_kb FROM sys.dm_os_sys_info;
-- Prior versions:
SELECT physical_memory_in_bytes FROM sys.dm_os_sys_info;
EXEC sp_configure 'max server memory';