SQL Server 2012 doświadczeń błędy braku pamięci

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 2769594 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
Rozwiń wszystko | Zwiń wszystko

Na tej stronie

Symptomy

Microsoft SQL Server w 2012 r., mogą wystąpić błędy braku pamięci z powodu przecieku pamięci wewnętrznej. W takiej sytuacji przecieku pamięci jest zużywanej przez pracownicy pamięci MEMORYCLERK_SQLLOGPOOL , który jest używany wewnętrznie działalności dziennika transakcji. Na przykład pracownicy pamięci_SQLLOGPOOL MEMORYCLERKjest używane wewnętrznie do następujących rodzajów działalności dziennika transakcji:
  • AlwaysOn Przechwytywanie zmian działalności podstawowej replik
  • Ustawienie AlwaysOn wykonaj ponownie działania Menedżera replik pomocniczy dostępności

Ten problem może być zaostrzone przez dużą liczbę transakcji, które są synchronizowane na wystąpienie programu SQL Server obsługującego wiele dostępność baz danych. W przypadku wystąpienia tego problemu w dzienniku błędów programu SQL jest rejestrowany komunikat o błędzie podobny do następującego:
Nie można przydzielić stron: FAIL_PAGE_ALLOCATION 8
Błąd: 701, wskaźnik ważności: 17, Państwie: 107.
Jest za mało pamięci systemowej w puli zasobów "wewnętrzną", aby uruchomić tę kwerendę.
Błąd: 701, wskaźnik ważności: 17, stan: 123.
W puli zasobów "Nazwa_puli", aby uruchomić tę kwerendę jest za mało pamięci systemowej.
Błąd: 701, wskaźnik ważności: 17, Państwie: 107. (Params:). Ten błąd jest drukowany w trybie zwięzły, ponieważ wystąpił błąd podczas formatowania. Śledzenie, ETW, powiadomienia itp są pomijane.
Błąd: 17312, wskaźnik ważności: 16, stan: 1.
Program SQL Server kończy systemu lub tła zadania zadanie HADR z powodu błędów w uruchomieniu zadania (stan instalacji 1).
Elementu AppDomain 3181 (<appdomain>) jest oznaczony do zwolnienia z powodu presji pamięci.
Wyładować domeny aplikacji 3181 (<appdomain>).
Błąd: 9602, wskaźnik ważności: 16, stan: 1.
Nie można uruchomić zadania systemowe z kodem błędu 28709, Państwo 19.
Błąd: 17300, wskaźnik ważności: 16, stan: 1.
SQL Server nie może uruchomić nowe zadanie systemowe, albo ponieważ nie ma za mało pamięci lub liczba sesji, skonfigurowane przekracza maksymalną dozwoloną na serwerze. Sprawdź, czy serwer ma odpowiedniej ilooci pamięci. Sp_configure za pomocą opcji "połączenia użytkownika" Aby sprawdzić maksymalną liczbę dozwolonych połączeń użytkowników. Sprawdź numer bieżącej sesji, w tym procesy użytkownika za pomocą sys.dm_exec_sessions.
Błąd: 17312, wskaźnik ważności: 16, stan: 1.
Program SQL Server kończy systemu lub tła zadania zadanie HADR z powodu błędów w uruchomieniu zadania (stan instalacji 1).
Błąd: 18054, wskaźnik ważności: 16, stan: 1.</appdomain></appdomain>
Wystąpienie programu SQL Server obsługuje bazę danych, w której uczestniczy w grupy dostępności AlwaysOn serwera SQL, synchronizowanie danych między replikami może zakończyć się niepowodzeniem. Aby obejść ten problem, można zatrzymać i ponownie uruchom program SQL Server.

W przypadku wystąpienia warunków braku pamięci może awaryjna grupy dostępności repliki pomocniczy dostępność, a byłego podstawowego repliki mogą w dalszym ciągu osiągnięcia błędy, aż usługa jest zatrzymana i ponownie uruchomiony. Grupy dostępności może przejść do usuwanie lub nieznanym stanie, a wszystkie bazy danych w tej grupie dostępność może być niedostępny, dopóki usługa SQL zostanie ponownie uruchomiony, aby zwolnić pamięć puli dziennika.

Po awarii zaczyna zauważać w danych wyjściowych można uruchomić instrukcja DBCC MEMORYSTATUS zużytej wielu gigabajtów pamięci przez pracownicy pamięci MEMORYCLERK_SQLLOGPOOL . Poniżej przedstawiono przykład danych wyjściowych:
KB MEMORYCLERK_SQLLOGPOOL (węzeł 0)
---------------------------------------- -----------
Maszyna wirtualna zastrzeżone 0
Maszyna wirtualna popełnionych 0
Zablokowanych stron, przydzielane 0
SM zastrzeżone 0
SM popełnionych 0
823544 Przydzielonych stron
Widać też liczbę stron pamięci problemu, uruchamiając następujące kwerendy DMV:
SELECT * FROM sys.dm_os_memory_clerks WHERE type='MEMORYCLERK_SQLLOGPOOL'
SELECT type, name, pages_in_bytes/ 1024 AS PMO_KB FROM sys.dm_os_memory_objects WHERE type like 'MEMOBJ_LOGPOOL%'
Innym możliwym problemem jest kwerend może czekać na Typ_oczekiwania RESOURCE_SEMAPHORE , gdy puli pamięci bufora nie można natychmiast uzyskać ze względu na dużą liczbę konsumentów puli dziennika SQL Server.

Ta poprawka rozwiązuje następujące problemy:
  • Przeciek pamięci został rozwiązany w wewnętrzny mechanizm odczytu z wyprzedzeniem, która jest używana do zlokalizowania pul dziennika transakcji, które są używane przez AlwaysOn i innych działaniach intensywne dziennika transakcji programu SQL Server 2012.
  • Dostępne jest mało pamięci, SQL Server zwolnienie pamięci puli dziennika wewnętrznego agresywnie do bardziej elegancko odzyskać awariach braku pamięci.

Rozwiązanie

Zbiorcza aktualizacja informacji

Zbiorcza aktualizacja 2 dla dodatku SP1 dla programu SQL Server 2012

Poprawkę dotyczącą tego problemu najpierw została wydana w zbiorczej aktualizacji 2. Aby uzyskać więcej informacji dotyczących sposobu uzyskiwania tego pakietu aktualizacji zbiorczej dla dodatku SP1 dla programu SQL Server 2012 r. kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2790947 Zbiorczego pakietu aktualizacji 2 dla dodatku Service Pack 1 dla programu SQL Server 2012
Uwaga Ponieważ kompilacje kumulują się, każde nowe wydanie poprawka zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały zawarte w poprzednich SQL Server 2012 SP1 naprawić release. Firma Microsoft zaleca, aby rozważyć zastosowanie najnowszej wersji poprawki, zawierający tę poprawkę. Aby uzyskać więcej informacji kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2772858 2012 Serwera SQL buduje hotfix wydane po wydaniu dodatku Service Pack 1 dla programu SQL Server 2012

Zbiorcza aktualizacja 5 dla programu SQL Server 2012

Poprawkę dotyczącą tego problemu najpierw została wydana w zbiorczej aktualizacji 5. Aby uzyskać więcej informacji dotyczących sposobu uzyskiwania tego pakietu aktualizacji zbiorczej dla programu SQL Server w 2012 r. kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2777772 Zbiorczego pakietu aktualizacji 5 dla programu SQL Server 2012
Uwaga Ponieważ kompilacje kumulują się, każde nowe wydanie poprawka zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały zawarte w poprzednich 2012 serwera SQL naprawić release. Firma Microsoft zaleca, aby rozważyć zastosowanie najnowszej wersji poprawki, zawierający tę poprawkę. Aby uzyskać więcej informacji kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2692828 2012 Serwera SQL buduje hotfix wydane po wydaniu programu SQL Server 2012

Informacje o poprawce

Firma Microsoft udostępniła obsługiwaną poprawkę. Jednakże ta poprawka jest przeznaczona tylko do rozwiązania problemu opisanego w tym artykule. Powinna być stosowana tylko w systemach, w których ten problem występuje.

eśli poprawka jest dostępna do pobrania, na początku tego artykułu z bazy wiedzy Knowledge Base jest umieszczona sekcja „Poprawka dostępna do pobrania”. Jeśli nie ma w tej sekcji, należy przesłać żądanie do obsługi klienta firmy Microsoft i obsługi technicznej w celu uzyskania poprawki.

Uwaga W przypadku wystąpienia dodatkowych błędów lub konieczności rozwiązania problemu może być wymagane utworzenie osobnego zlecenia usługi. Typowe opłaty za korzystanie z pomocy technicznej będą pobierane tylko w przypadku dodatkowych pytań i problemów, których nie można rozwiązać przy użyciu tej poprawki. Aby uzyskać pełną listę numerów telefonów działu obsługi klienta firmy Microsoft lub utworzyć osobne zlecenie usługi przejdź do następującej witryny firmy Microsoft:
http://support.microsoft.com/contactus/?ws=support
Uwaga Sekcja „Poprawka dostępna do pobrania” zawiera listę języków, dla których ta poprawka jest dostępna. Jeśli odpowiedni język nie jest widoczny, oznacza to, że ta poprawka nie jest dostępna dla tego języka.

Informacje dotyczące ponownego uruchamiania

Nie trzeba ponownie uruchomić komputer po zastosowaniu tej poprawki.

Wymagania wstępne

Aby zastosować tę poprawkę, trzeba mieć zainstalowany 2012 r. dla SQL Server.

Informacje dotyczące plików poprawki

Wersja globalna tej poprawki ma atrybuty plików (lub nowsze) wymieniono w poniższej tabeli. Daty i godziny odpowiadające tym plikom zostały podane w formacie uniwersalnego czasu koordynowanego (UTC). Podczas wyświetlania informacji dotyczących plików, jest konwertowany na czas lokalny. Aby zobaczyć różnicę między czasem UTC i czasem lokalnym, należy użyć Strefa czasowa Zakładka w Data i godzina element w Panelu sterowania.
Zwiń tę tabelęRozwiń tę tabelę
Nazwa plikuWersja plikuRozmiar plikuDataGodzinaPlatforma
Sqlmin.dll2011.110.2387.032,460,27219-Paź-201205: 25x 64
Sqlservr.exe2011.110.2387.0190,94419-Paź-201205: 01x 64
Sqlmin.dll2011.110.2387.026,515,93619-Paź-201205: 22x86
Sqlservr.exe2011.110.2387.0160,22419-Paź-201205: 17x86

Właściwości

Numer ID artykułu: 2769594 - Ostatnia weryfikacja: 24 stycznia 2013 - Weryfikacja: 3.0
Informacje zawarte w tym artykule dotyczą:
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Web
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Enterprise
Słowa kluczowe: 
kbtshoot kbautohotfix kbqfe kbhotfixserver kbfix kbexpertiseadvanced kbsurveynew kbmt KB2769594 KbMtpl
Przetłumaczone maszynowo
WAŻNE: Ten artykuł nie został przetłumaczony przez człowieka, tylko przez oprogramowanie do tłumaczenia maszynowego firmy Microsoft. Firma Microsoft oferuje zarówno artykuły tłumaczone przez ludzi, jak i artykuły tłumaczone maszynowo, dzięki czemu każdy użytkownik może uzyskać dostęp do całej zawartości bazy wiedzy Knowledge Base we własnym języku. Prosimy jednak pamiętać, że artykuły przetłumaczone maszynowo nie zawsze są doskonałe. Mogą zawierać błędy słownictwa, składni i gramatyki, przypominające błędy robione przez osoby, dla których język użytkownika nie jest językiem ojczystym. Firma Microsoft nie odpowiada za wszelkie nieścisłości, błędy lub szkody spowodowane nieprawidłowym tłumaczeniem zawartości oraz za wykorzystanie tej zawartości przez klientów. Oprogramowanie do tłumaczenia maszynowego jest często aktualizowane przez firmę Microsoft.
Anglojęzyczna wersja tego artykułu to: 2769594

Przekaż opinię

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com