Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ten artykuł ułatwia rozwiązanie problemu występującego podczas korzystania z programu SQL Server Management Studio (SSMS) do uruchamiania zapytania SQL zwracającego dużą ilość danych.
Oryginalna wersja produktu: SQL Server
Oryginalny numer KB: 2874903
Objawy
Jeśli używasz programu SSMS do uruchamiania zapytania SQL zwracającego bardzo dużą ilość danych, zostanie wyświetlony komunikat o błędzie podobny do następującego:
Wystąpił błąd podczas wykonywania zadania. Komunikat o błędzie: Zgłoszono wyjątek typu "System.OutOfMemoryException"
Przyczyna
Ten problem występuje, ponieważ program SSMS nie ma wystarczającej ilości pamięci do przydzielenia dużych wyników. Program SSMS jest procesem 32-bitowym. W związku z tym jest ograniczona do 2 GB pamięci wirtualnej trybu użytkownika. Program SSMS nakłada sztuczny limit ilości tekstu na pole bazy danych w oknie wyników. Ten limit wynosi 64 KB w trybie siatki i 8 KB w trybie tekstowym. Jeśli zestaw wyników jest zbyt duży, pamięć wymagana do wyświetlenia wyników zapytania może przekroczyć limit 2 GB procesu programu SSMS. W związku z tym duży zestaw wyników może spowodować błąd wymieniony w sekcji Objawy .
Rozwiązanie
Aby obejść ten problem, wypróbuj jedną z następujących metod.
Metoda 1. Wyprowadza wyniki jako tekst
Skonfiguruj okno zapytania, aby wyświetlić wyniki zapytania jako tekst. Dane wyjściowe tekstowe używają mniejszej ilości pamięci niż siatka i może wystarczyć do wyświetlenia wyników zapytania. Aby wprowadzić tę zmianę, wykonaj następujące kroki:
- Kliknij prawym przyciskiem myszy okno zapytania.
- Wybierz Wyniki do.
- Wybierz Wyniki na tekst.
Metoda 2. Wyprowadzenie wyników do pliku
Skonfiguruj okno zapytania, aby wyświetlić wyniki zapytania w pliku. Wyjście plikowe korzysta z minimalnej ilości pamięci. Spowoduje to zarezerwowanie większej ilości pamięci do przechowywania zestawu wyników. Aby wprowadzić tę zmianę, wykonaj następujące kroki:
- Kliknij prawym przyciskiem myszy okno zapytania.
- Wybierz Wyniki do.
- Wybierz Wyniki do pliku.
- Uruchom zapytanie, a następnie wybierz lokalizację, w której chcesz zapisać plik wyników.
Metoda 3. Korzystanie z narzędzia sqlcmd
Użyj narzędzia sqlcmd zamiast programu SSMS do uruchamiania zapytań SQL. Ta metoda umożliwia uruchamianie zapytań bez zasobów wymaganych przez interfejs użytkownika programu SSMS. Ponadto można użyć 64-bitowej wersji Sqlcmd.exe, aby uniknąć ograniczenia pamięci, które ma wpływ na 32-bitowy proces SSMS.