Przejdź do głównej zawartości
Pomoc techniczna
Zaloguj się przy użyciu konta Microsoft
Zaloguj się lub utwórz konto.
Witaj,
Wybierz inne konto.
Masz wiele kont
Wybierz konto, za pomocą którego chcesz się zalogować.

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: OnInformation

Opis: 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: OnInformation


Opis: 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 2008
Microsoft 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 1

Dodaj więcej pamięci fizycznej do komputera.

Metoda 2

Uruchamianie pakietu SSIS 2008 na komputerze, na którym nie jest uruchomione wystąpienie programu SQL Server.

Metoda 3

Po 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 4

Zamknij aplikacje, które zużywają dużo pamięci podczas uruchamiania pakietu SSIS 2008, który zawiera zadania przepływ danych.


Metoda 5

Uruchamianie pakietu SSIS 2008 i zadania przepływ danych w serii, zamiast równolegle do zmniejszenia wykorzystania pamięci.


Metody 6

Uż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 prywatne
Licznik
Proces
obiekt 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 prywatne
Licznik. 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 prywatne
Licznik
Proces
obiekt 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 prywatne
Licznik 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ęci
Obiekt wydajności do pomiaru użycia pamięci puli buforów serwera SQL. Dodatkowo użyć
Bajty prywatne
Licznik 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
    AWE
    pamięć jest włączona.

Uwaga
Gdy jeden z tych warunków jest spełniony,
Bajty prywatne
Licznik 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)-wolny
    wartość na karcie Wydajność w Menedżerze zadań.


    Uwaga
    W niektórych systemach operacyjnych, Pamięć fizyczna (MB) – wolny
    wartość 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łoszonych



Aby 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 Server

Aby 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ą.

Czy te informacje były pomocne?

Jaka jest jakość języka?
Co wpłynęło na Twoje wrażenia?
Jeśli naciśniesz pozycję „Wyślij”, Twoja opinia zostanie użyta do ulepszania produktów i usług firmy Microsoft. Twój administrator IT będzie mógł gromadzić te dane. Oświadczenie o ochronie prywatności.

Dziękujemy za opinię!

×