Mike hat Recht, dass die Fehlermeldung, die Sie erhalten, von der Management Studio-Anwendung selbst und nicht von SQL Server stammt. Es ist der Speicher auf Ihrer lokalen Workstation, der erschöpft ist, wahrscheinlich weil versucht wurde, 16 Milliarden Zeilen in die Clientanwendung zu ziehen (das Rendern dieser Daten in einem Grid ist in Bezug auf den Speicher ziemlich teuer, also versuchen Sie, Ihre Abfragen mit TOP
etc. Zu begrenzen Ich weiß nicht, welche praktischen Dinge Sie möglicherweise mit genügend Daten tun könnten, um ohnehin den gesamten lokalen Speicher zu belegen.
Ich möchte jedoch ein anderes Problem ansprechen: Verwenden des Task-Managers zum Ermitteln der von SQL Server verwendeten Speicherkapazität. Mach das nicht; Es ist ein mutiger Lügner. Kopieren von dieser Antwort (Ihre Frage ist zweifach, daher kann ich sie nicht wirklich als Duplikat schließen):
Sie können sich NIEMALS darauf verlassen, dass der Task-Manager Ihnen mitteilt, wie viel Speicher SQL Server verwendet. Verwenden Sie den Task-Manager in diesem Zeitraum nicht mehr. Leistungsindikator verwenden - Sie können den Leistungsindikator auch mit DMVs abfragen:
SELECT object_name, cntr_value
FROM sys.dm_os_performance_counters
WHERE counter_name = 'Total Server Memory (KB)';
Sie können dies als Abfrageverknüpfung in Extras> Optionen> Umgebung> Tastatur> Abfrageverknüpfungen speichern und in einem Abfragefenster genaue Ergebnisse erhalten, viel schneller als ungenaue Ergebnisse vom Task-Manager.
Sie können auch anhand der folgenden Abfragen überprüfen, ob der Arbeitsspeicher belastet ist (und ob Sie etwas dagegen tun können):
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';