Майк має рацію, що повідомлення про помилку, яке ви отримуєте, отримує від самої програми Management Studio, а не від SQL Server. Це пам'ять на вашій місцевій робочій станції вичерпана, ймовірно, через спробу втягнути 16 мільярдів рядків у клієнтський додаток (надання такої кількості даних у сітці є досить дорогою з точки зору пам'яті, тому намагайтеся обмежити запити за допомогою TOP
тощо - Я не знаю, які практичні речі ви могли зробити з достатньою кількістю даних, щоб все-таки використати всю свою локальну пам'ять).
Але я хочу вирішити ще одну проблему: за допомогою диспетчера завдань для оцінки обсягу пам'яті, яку використовує SQL Server. Не робіть цього; це сміливий брехун. Копіювання з цієї відповіді (ваше запитання двояке, тому я не можу реально закрити його як дублікат):
Ви НІКОЛИ не можете довіряти диспетчеру завдань, щоб повідомити, скільки пам'яті використовує 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';