Symptomy

W przypadku korzystania z programu Microsoft SQL Server Management Studio (SSMSe) w celu uruchomienia zapytania SQL zwracającego dużą ilość danych zostanie wyświetlony komunikat o błędzie podobny do następującego:

Wystąpił błąd podczas wykonywania zadania wsadowego. Komunikat o błędzie: zgłoszono wyjątek typu "System. OutOfMemoryException"

Przyczyna

Ten problem występuje, ponieważ narzędzie SSMSe ma niewystarczającą ilość pamięci do przydzielenia dużych wyników.Uwaga Narzędzie SSMSe to proces 32-bitowy. W związku z tym ograniczenie jest ograniczone do 2 GB pamięci. Narzędzie SSMSe narzuca sztuczny limit ilości tekstu, który może być wyświetlany w polu bazy danych w oknie wyniki. Ten limit to 64 KB w trybie "siatka" i 8 KB w trybie "tekst". Jeśli zestaw wyników jest zbyt duży, pamięć wymagana do wyświetlenia wyników kwerendy może przekroczyć limit 2 GB w ramach procesu SSMSego. Z tego powodu duży zestaw wyników może powodować błąd opisany w sekcji "Symptomy".

Obejście

Aby obejść ten problem, wypróbuj jedną z następujących metod.

Metoda 1: wyprowadzanie wyników jako tekstu

Skonfiguruj okno kwerendy, aby wyniki kwerendy były wyprowadzane jako tekst. W tekście wyjściowym jest używana mniejsza ilość pamięci niż siatka, a wyniki kwerendy mogą być wystarczające. Aby wprowadzić tę zmianę, wykonaj następujące czynności:

  1. Kliknij prawym przyciskiem myszy okno kwerendy.

  2. Kliknij pozycję wyniki.

  3. Kliknij pozycję wyniki w tekście.

Metoda 2: wyprowadzanie wyników do pliku

Skonfiguruj okno kwerendy, aby wyniki kwerendy były wyprowadzane do pliku. W przypadku pliku danych wyjściowych jest używana minimalna ilość pamięci. Ten składnik rezerwuje więcej pamięci do przechowywania zestawu wyników. Aby wprowadzić tę zmianę, wykonaj następujące czynności:

  1. Kliknij prawym przyciskiem myszy okno kwerendy.

  2. Kliknij pozycję wyniki.

  3. Kliknij pozycję wyniki do pliku.

  4. 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 narzędzia SSMSE, aby uruchomić zapytania SQL. Ta metoda umożliwia uruchamianie zapytań bez zasobów wymaganych przez interfejs użytkownika narzędzia SSMS. Ponadto można użyć 64-bitowej wersji narzędzia sqlcmd. exe, aby uniknąć ograniczeń pamięci wpływających na proces 32-bitowy program SSMS.

Stan

Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "dotyczy".

Potrzebna dalsza pomoc?

Rozwijaj swoje umiejętności
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów firmy Microsoft

Czy te informacje były pomocne?

Jaka jest jakość języka?
Co wpłynęło na Twoje wrażenia?

Dziękujemy za opinię!

×