Firma Microsoft rozpowszechnia poprawki programu Microsoft SQL Server 2008 jako jeden plik do pobrania. Ponieważ poprawki są zbiorcze, każde nowe wydanie zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały dołączone do poprzedniego programu SQL Server 2008 Release.

Objawy

Należy mieć pakiet Microsoft SQL Server 2008 Integration Services (SSIS 2008). Pakiet zawiera zadania przepływ danych. Po uruchomieniu pakietu na serwerze, na którym znajduje się pod niedostatecznej ilości pamięci występuje błąd naruszenia zasad dostępu, a następnie proces wykonywania SSIS 2008 ulega awarii. Ponadto pojawić ostrzeżenia o braku pamięci, które wyglądają następująco w dzienniku aplikacji 2008 SSIS:

Nazwa zdarzenia: OnInformationOpis: Menedżer buforu nie powiodło się wywołanie alokacji pamięci dla bajtów 10484760, ale nie może zamienić wszystkie bufory w celu złagodzenia presji pamięci. Rozpatrzono 305 buforów i 295 zostały zablokowane. Albo za mało pamięci jest dostępna do potoku, ponieważ brak wystarczającej ilości są zainstalowane, go używać innych procesów lub zbyt wiele buforów są zablokowane.Nazwa zdarzenia: OnInformationOpis: Buforowymi została przydzielona 10485608 bajtów, mimo że wykryto presji pamięci i zamienić buforów powtarzające się próby zawiodły.

Uwaga Różne procesy runtime, które działają pakietów SSIS 2008 są DTExec.exe, DTSHost.exe lub DTSDebugHost.exe. Proces, który uruchamia pakiet SSIS 2008 zależy od warunków, które pakiet jest w obszarze. Proces DTExec.exe działa pakietów nadrzędnych. Proces DTSHost.exe działa pakietów podrzędnych. DtsDebugHost.exe proces uruchamia pakiety, które są debugowane Business Intelligence Studio projektu.

Przyczyna

SSIS 2008 jest powiadamiany, że serwer jest pod niedostatecznej ilości pamięci. Niedostatecznej ilości pamięci występuje, gdy dostępne są tylko 128 megabajtów (MB) do 256 MB pamięci. Następnie zamieniać buforów potoku przepływ danych do folderu tymczasowego, który jest określony przez właściwość BufferTempStoragePath rozpocznie się proces wykonywania SSIS 2008.W takiej sytuacji, który jest wymieniony w sekcji "Symptomy" dane w buforze są kopiowane wewnętrznie bufor docelowy przez przekształcenie. Na przykład dane w buforze są kopiowane przez transformacja Merge Join. Ta operacja występuje, gdy serwer jest w obszarze niedostatecznej ilości pamięci. Jednak transformacja nie rozpoznaje, że wątek poza transformacja nagle wymieniony buforu docelowego. Dlatego operacja kopiowania nie powiedzie się, a następnie powoduje naruszenie zasad dostępu.

Rozwiązanie

Ta poprawka jawnie blokuje buforu docelowego podczas operacji kopiowania. To zachowanie zapobiega zastępowaniu buforu docelowego podczas operacji kopiowania jest uruchomiony inny wątek.Poprawkę dotyczącą tego problemu został wydany w zbiorczej aktualizacji 6 dla programu SQL Server 2008 z dodatkiem Service Pack 1. Aby uzyskać więcej informacji na temat tego pakietu aktualizacji zbiorczej kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

977443 skumulowany pakietu aktualizacji 6 dla programu SQL Server 2008 z dodatkiem Service Pack 1Uwaga Ponieważ są zbiorcze, każde nowe wydanie zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały dołączone do poprzedniego programu SQL Server 2008 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:

970365 SQL Server 2008 buduje wydane po wydaniu dodatku Service Pack 1 dla programu SQL Server 2008Microsoft SQL Server 2008 poprawki są tworzone dla określonych dodatków service Pack dla programu SQL Server. Do instalacji programu SQL Server 2008 z dodatkiem Service Pack 1, należy zastosować poprawkę dodatku Service Pack 1 dla programu SQL Server 2008. Domyślnie wszystkie poprawki, która jest dostępna w dodatku service pack dla programu SQL Server znajduje się w następnym dodatku service pack dla programu SQL Server.

Obejście problemu

Aby obejść ten problem, należy rozwiązać niedostatecznej ilości pamięci. Ilość pamięci, która może wywołać ten problem jest różna dla różnych komputerów. Kwota ta jest zwykle między 32 MB i 64 MB. W związku z tym firma Microsoft zaleca, aby skonfigurować serwer, aby przydzielić więcej niż 64 MB dostępnej pamięci do SSIS 2008.Zmienia się domyślną ilość dostępnej pamięci, który sygnalizuje zdarzenie powiadomienia zasobu ilości pamięci. Ta dostępna pamięć waha się od 32 MB do 64 MB dla każdego 4 gigabajty (GB). Ten problem jest trudne, aby zapobiec, ponieważ ilość dostępnej pamięci zmienia się na serwerach produkcyjnych zajęty. Ponadto pamięci może zmniejszyć różnych innych powodów. Aby uzyskać więcej informacji o powiadomieniach zasobów pamięci odwiedź następującą witrynę Microsoft Developer Network (MSDN) w sieci Web:

Funkcja, która tworzy obiekty powiadomień zasobów pamięciAby zmniejszyć częstotliwość występowania tego problemu, użyj jednej z następujących metod.Metoda 1Dodaj więcej pamięci fizycznej do komputera.Metoda 2Uruchamianie pakietu SSIS 2008 na komputerze, na którym nie jest uruchomione wystąpienie programu SQL Server.Metoda 3Po uruchomieniu pakietu SSIS 2008, ustaw opcję Maksymalna pamięć serwera dla wystąpienia programu SQL Server 2008 na mniejszą wartość. To zachowanie powoduje zwiększenie dostępnej pamięci.Metoda 4Zamknij aplikacje, które zużywają dużo pamięci podczas uruchamiania pakietu SSIS 2008, który zawiera zadania przepływ danych.Metoda 5Uruchamianie pakietu SSIS 2008 i zadania przepływ danych w serii, zamiast równolegle do zmniejszenia wykorzystania pamięci.Metody 6Użyć metody, która jest opisana w sekcji "Jak do monitorowania zużycia pamięci dla SSIS" sekcji "Więcej informacji" rozwiązywać niedostatecznej ilości pamięci. Następnie należy zoptymalizować użycie pamięci przez SSIS 2008.

Stan

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

Więcej informacji

Jak monitorować zużycie pamięci dla SSIS

Monitor pamięci do pomiaru szczytowe użycie dla różnych procesów wykonywania usług SQL Server Integration Services do obliczania maksymalne użycie pamięci

Monitorowanie wykorzystania pamięci piku różnych procesów wykonywania programu SQL Server Integration Services (SSIS) za pomocą Bajty prywatneLicznik Procesobiekt w Monitorze wydajności. Przykłady procesów wykonywania SSIS i proces DTExec.exe DTSHost.exe.Uruchamiając pakietów SSIS znaleziona wartość maksymalna dla Bajty prywatneLicznik. Gdy wielu pakietów są uruchomione równolegle, dodać razem maksymalne wartości wszystkie procesy, które są uruchomione, aby uzyskać maksymalną wartość dla użycia pamięci.

Monitorowanie procesów zewnętrznych, aby znaleźć załamaniach

Szczytowe użycie pamięci procesów poza usługi programu SQL Server i SSIS monitorować za pomocą Bajty prywatneLicznik Procesobiekt w Monitorze wydajności. Poszukaj największego obciążenia, które mogą zmniejszyć ilość dostępnej pamięci dla SSIS. Na przykład szczytu są, gdy kilku użytkowników korzysta z protokołu RDP (Remote Desktop) do łączenia się z serwerem lub gdy uruchomione jest oprogramowanie tworzenia kopii zapasowych.

Monitorowania wykorzystania pamięci programu SQL Server, aby znaleźć załamaniach

Jeśli komunikat "Using zablokowane strony dla puli buforów" nie jest najbardziej aktualnych pliku dziennika błędów Bajty prywatneLicznik w procesie Sqlservr.exe może wskazywać, ile pamięci jest zużywanej przez usługi programu SQL Server.Jeśli komunikat "Using zablokowane strony dla puli buforów" znajduje się w najbardziej aktualnych pliku dziennika błędów, należy użyć Całkowitej pamięci serwera (KB)Licznik Programu SQL Server: Menedżer pamięciObiekt wydajności do pomiaru użycia pamięci puli buforów serwera SQL. Dodatkowo użyć Bajty prywatneLicznik w procesie Sqlservr.exe znaleźć alokacji pamięci poza Pula buforów (MemToLeave). Suma wartości licznika Całkowitej pamięci serwera (KB) i wartość MemToLeave jest dobrym oszacowaniem całkowita ilość pamięci używanej przez program SQL Server.Monitor wydajności i Menedżer zadań nie są wyświetlane pamięci, która jest wykorzystywana przez te strony puli bufora, gdy jest spełniony jeden z następujących warunków:

  • Z Prawo użytkownika Blokowanie stron w pamięci jest przypisany do konta uruchamiania usługi programu SQL Server.

  • Z AWEpamięć jest włączona.

UwagaGdy jeden z tych warunków jest spełniony, Bajty prywatneLicznik w procesie Sqlservr.exe powinien wskazywać, ile pamięci jest zużywanej przez usługi programu SQL Server dla różnych wystąpień programu SQL Server.

Monitor minimalną wartość dostępnej pamięci w systemie Windows

Aby monitorować ilość pamięci jest dostępna w systemie Windows, użyj jednej z następujących metod:

  • Użyj Dostępna pamięć (MB)Licznik w Monitorze wydajności, aby wskazać, ile pamięci jest dostępna.

  • Widok Pamięć fizyczna (MB)-wolnywartość na karcie Wydajność w Menedżerze zadań.UwagaW niektórych systemach operacyjnych, Pamięć fizyczna (MB) – wolnywartość jest oznaczony jako wartość Pamięć fizyczna (KB) – dostępne .

Powiązane artykuły

Aby uzyskać informacji o przyrostowych modelu obsługi programu SQL Server kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

935897 przyrostowe modelu obsługi jest dostępne z zespołu programu SQL Server do dostarczania poprawki dla problemów zgłoszonychAby uzyskać więcej informacji na temat schematu nazewnictwa dla aktualizacji programu SQL Server kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

822499 Nowy schemat nazewnictwa dla pakietów aktualizacji oprogramowania Microsoft SQL ServerAby uzyskać więcej informacji dotyczących terminologii aktualizacji oprogramowania, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

824684 Opis standardowej terminologii używanej do opisywania aktualizacji oprogramowania firmy Microsoft

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.