KB2803065 — Poprawka: przeciek pamięci podczas uruchamiania zapytań w tabeli tymczasowej w zagnieżdżonej procedurze składowanej programu SQL Server 2012

Symptomy

Rozpatrzmy następujący scenariusz:

  • Masz procedurę przechowywaną zawierającą podrzędną procedurę przechowywaną w programie Microsoft SQL Server 2012.

  • Podrzędna procedura składowana używa tabeli jako parametru.

  • Można utworzyć tabelę tymczasową, a następnie przekazać ją do podrzędnej procedury składowanej jako parametr.

  • Podrzędna procedura składowana uruchamia kwerendy w tabeli tymczasowej za pomocą kursorów.

W tym scenariuszu występuje przeciek pamięci, który pogarsza wydajność programu SQL Server 2012.

Rozwiązanie

Informacje o aktualizacji zbiorczej

Zbiorcza aktualizacja 3 dla programu SQL Server 2012 z dodatkiem Service Pack 1 (SP1)

Poprawka dotycząca tego problemu została wydana po raz pierwszy w aktualizacji zbiorczej 3. Aby uzyskać więcej informacji na temat sposobu uzyskiwania tego zbiorczego pakietu aktualizacji dla programu SQL Server 2012 SP 1, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

2812412 Pakiet aktualizacji zbiorczej 3 dla programu SQL Server 2012 z dodatkiem Service Pack 1Uwaga Ponieważ kompilacja jest zbiorcza, każdy nowy pakiet poprawek zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń dołączone do poprzedniej wersji programu SQL Server 2012 z dodatkiem SP 1. Zalecamy zastosowanie najnowszego wydania poprawki zawierającego 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 Kompilacje programu SQL Server 2012 wydane po opublikowaniu dodatku Service Pack 1 dla programu SQL Server 2012

Stan

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

Więcej informacji

Poniższa tabela zawiera więcej informacji na temat produktów lub narzędzi, które automatycznie sprawdzają warunek opisany w sekcji "Symptomy" w wystąpieniu programu SQL Server i w wersjach programu SQL Server, dla których ta reguła jest szacowana:

Oprogramowanie reguły

Tytuł reguły

Opis reguły

Wersje produktu, dla których jest oceniana reguła

Klasyfikator centrum systemowego

Przeciek pamięci programu SQL Server, gdy kwerendy są uruchamiane w tabeli tymczasowej w zagnieżdżonej procedurze składowanej programu SQL Server 2012

W tym doradcze wystąpień programu SQL Server wykryto obecność kompilacji programu SQL Server niższą niż stała kompilacja w celu wykrycia problemu z przeciekiem pamięci. Może się tak zdarzyć, gdy masz procedurę przechowywaną zawierającą procedurę przechowywaną w trybie potomnym, która używa tabel tymczasowych, które dodatkowo używają kursorów. Możesz zauważyć, MEMORYCLERK_SQLOPTIMIZER sys.dm_os_memory_clerks i MEMOBJ_EXECCOMPILETEMP od sys.dm_os_memory_objects bardzo wysokie. Aby uzyskać więcej informacji, zobacz artykuł z bazy wiedzy Knowledge Base.

Program SQL Server 2012

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?

Dziękujemy za opinię!

Dziękujemy za opinię! Wygląda na to, że połączenie Cię z jednym z naszych agentów pomocy technicznej pakietu Office może być pomocne.

×