Zagadnienia dotyczące ustawień "autogrow" i "autoshrink" w programie SQL Server

Streszczenie

Domyślne ustawienia autogrow i autoshrink będzie pracować dla Ciebie bez dostrajania w wielu systemach programu SQL Server. Istnieją środowiska, w których nie trzeba włączać ustawień lub gdzie może być konieczne dostosowanie parametrów autogrow i autoshrink . Ten artykuł zawiera podstawowe informacje pomocne przy wybierz ustawienia dla danego środowiska.

Więcej informacji

Oto kilka spraw, które należy wziąć pod uwagę, jeżeli zdecydujesz się dostroić parametrów autogrow i autoshrink .

Jak skonfigurować ustawienia?

  1. Ustawienia autogrow i autoshrink można skonfigurować przy użyciu jednej z następujących czynności:
    • Instrukcja ALTER DATABASE
    • SQL Server Management Studio
    • Procedury przechowywane sp_dboption (przestarzałe w programie SQL Server 2005)
    Uwaga Aby uzyskać więcej informacji dotyczących sposobu konfigurowania tych ustawień w programie SQL Server 2005, odwiedź następujące witryny firmy Microsoft Developer Network (MSDN) w sieci Web:
    Jak: dodać dane lub pliki dziennika bazy danych (SQL Server Management Studio)
    http://msdn2.microsoft.com/en-us/library/ms189253.aspx
    Właściwości bazy danych (strona pliki)
    http://msdn2.microsoft.com/en-us/library/ms180254.aspx
    Można również skonfigurować opcji autogrow podczas tworzenia bazy danych.

    Aby wyświetlić bieżące ustawienia, uruchom następujące polecenie języka Transact-SQL:
    sp_helpdb [ [ @dbname= ] 'name' ]
  2. Należy pamiętać, że ustawienia autogrow są na plik. W związku z tym należy ustawić je w co najmniej dwóch miejsc dla każdej bazy danych (jeden dla pliku podstawowego) oraz jednego dla podstawowego pliku dziennika. Jeśli masz wiele plików danych i dziennika, należy ustawić opcje dla każdego pliku. W zależności od środowiska może skończyć się z różnych ustawień dla każdego pliku bazy danych.

Jakie są jego wpływu na wydajność?

  • Jeśli zostanie transakcja wymagającego więcej miejsca, niż jest dostępna i włączeniu opcji autogrow dla dziennika transakcji bazy danych, czas potrzebny na zakończenie transakcji zostaną uwzględnione czasu, potrzebnego dziennik transakcji rośnie skonfigurowaną wartość. Jeśli przyrost rozmiaru jest duża lub wystąpi inny czynnik, który powoduje, że długi czas, kwerendy, w którym otwarta transakcja może zakończyć się niepowodzeniem z powodu błędu limitu czasu. Tego samego rodzaju problem może wynikać z autogrow część danych w bazie danych. Aby zmienić konfigurację autogrow , zobacz temat "ALTER DATABASE" w dokumentacji SQL Server Books Online.
  • Jeśli uruchomisz dużych transakcji, która wymaga dziennika do hodowli, inne transakcje, które wymagają zapis do dziennika transakcji również będzie musiał czekać aż do zakończenia operacji powiększania.
  • Jeśli połączenie opcji autogrow i autoshrink , można utworzyć niepotrzebne obciążenie. Upewnij się, że progi, które powodować wzrost i zmniejszyć operacji nie spowoduje częstych zmian rozmiaru. Na przykład można uruchomić transakcji, która powoduje, że do czasu, który zobowiązuje się rozmiaru dziennika transakcji o 100 MB. Jakiś czas po, że automatyczne zmniejszanie uruchamia i zmniejsza dziennik transakcji o 100 MB. Następnie uruchom tę samą transakcję i powoduje dziennik transakcji ponownie wzrośnie o rozmiarze 100 MB. W tym przykładzie powoduje utworzenie niepotrzebne obciążenie i potencjalnie tworzenie fragmentacji pliku dziennika, z których jeden może negatywnie wpłynąć na wydajność.
  • Fizyczne fragmentacji ze zmiany rozmiaru plików danych lub dziennika może mieć poważny wpływ na wydajność. Ta zasada obowiązuje, czy używać ustawień automatycznych lub czy można ręcznie powiększać i zmniejszać plików często.
  • Jeśli rosną bazy danych o niewielką odległość, czy rozwijać go, a następnie zmniejsz go, może skończyć się z fragmentacji dysku. Fragmentacja dysku może spowodować problemy z wydajnością w pewnych okolicznościach. Scenariusz małych przyrost można także zmniejszyć wydajność w tym systemie.
  • W programie SQL Server 2005 lub nowszej wersji można włączyć błyskawiczne pliku inicjującego. Inicjowanie pliku błyskawiczne przyspiesza alokacje plików tylko dla plików danych. Inicjowanie pliku błyskawiczne nie dotyczą plików dziennika.
  • Jeśli masz wiele plików przyrosty w plikach dziennika może być zbyt dużej liczby wirtualnych plików dziennika (VLF). To prowadzić do problemów z wydajnością z operacji uruchamiania/online bazy danych, replikacja, dublowanie i zmienić przechwytywania danych (CDC). Dodatkowo czasami może to spowodować problemy z wydajnością z modyfikacji danych.

Najważniejsze wskazówki

  • W przypadku systemu zarządzanego produkcji należy wziąć pod uwagę autogrow się jedynie na nieprzewidziane wydatki na nieoczekiwany wzrost. Nie zarządzania rozwojem danych i dziennika na co dzień z autogrow.
  • Alerty lub programy monitorowania służy do monitorowania rozmiary plików i aktywnie rozwijać pliki. To pomaga uniknąć rozdrobnienia i pozwala na przesunięcie tych czynności konserwacji na godziny poza szczytem.
  • Automatyczne zmniejszanie i autogrow musi być dobrze przemyślane przez przeszkolony Administrator bazy danych (DBA); nie należy pozostawić niezarządzanego.
  • Twój przyrostu autogrow musi być wystarczająco duża, aby uniknąć kary wydajności wymienione w poprzedniej sekcji. Taką wartość, aby użyć ustawień konfiguracji i wybór między procentowy wzrost i szczególnego rozwoju rozmiar MB zależy od wielu czynników w danym środowisku. Ogólna zasada dla użytkownika można użyć dla badania jest ustalenie z ustawieniem autogrow dla około osiem jeden rozmiar pliku.
  • Włącz ustawienie < MAXSIZE > dla każdego pliku, aby zapobiec dowolnego jednego pliku z uprawy do punktu, gdzie używa się wszystkie dostępne miejsce na dysku.
  • Utrzymać rozmiar transakcji tak małe jak to możliwe zapobiec rozwojowi nieplanowane pliku.

Dlaczego trzeba martwić się o miejsca na dysku, jeśli ustawienia rozmiaru są regulowane automatycznie?

  • Opcji autogrow rozmiar nie może powiększać rozmiar bazy danych znajdujących się poza granicami wolnego miejsca na dyskach, dla których są określone pliki. W związku z tym jeśli opierać się na funkcjonalność autogrow rozmiar bazy danych, należy sprawdzić nadal niezależnie miejsca na dysku. Opcji autogrow rozmiar jest również ograniczona przez parametr elementu MAXSIZE wybrany dla każdego pliku. Aby zmniejszyć możliwość korzystającym z miejsca, można monitorować liczników monitora wydajności systemu programu SQL Server: obiekt bazy danych: rozmiar plików danych (KB) i ustawić alert dla kiedy bazy danych osiągnie określony rozmiar.
  • Nieplanowane wzrostu plików danych lub dziennika może zająć miejsce czy innych aplikacji mają być dostępne i może być przyczyną tych innych aplikacji występują problemy.
  • Przyrost rozmiaru dziennika transakcji musi być wystarczająco duży, aby wyprzedzić na potrzeby jednostek transakcji. Nawet w przypadku autogrow włączone otrzymasz komunikat, że dziennik transakcji jest pełna, jeśli nie można go powiększyć wystarczająco szybko do zaspokojenia potrzeb kwerendy.
  • SQL Server nie stale testów dla baz danych, które mają trafić skonfigurowana wartość progowa dla automatyczne zmniejszanie. Zamiast tego analizuje dostępnych baz danych i znajdzie pierwszy kształt, który jest skonfigurowany na automatyczne zmniejszanie. Sprawdza tę bazę danych i zmniejsza tej bazy danych, w razie potrzeby. Następnie oczekuje kilka minut przed sprawdzeniem kolejnej bazy danych, który jest skonfigurowany na automatyczne zmniejszanie. Innymi słowy SQL Server nie jednocześnie sprawdzić wszystkie bazy danych i zmniejszyć ich wszystkich naraz. Będzie działać poprzez bazy danych w działaniu okrężnym rozłożenie w czasie ładowania się w okresie czasu. W związku z tym w zależności od tego, jak wiele baz danych dotyczących konkretnego wystąpienia programu SQL Server zostały skonfigurowane na automatyczne zmniejszanie, to może zająć kilka godzin od chwili bazy danych Liczba trafień próg, aż faktycznie zmniejsza.

Poniższa tabela zawiera więcej informacji na temat produktów lub narzędzi, które automatycznie sprawdza ten warunek wystąpienia programu SQL Server i wersje produktu SQL Server przeciwko którym reguła jest oceniane.

Reguła oprogramowaniaNazwa regułyOpis regułyWersje produktu, przeciwko którym reguła jest oceniane
Doradca programu System CenterUstawienie przyrost pliku bazy danych programu SQL Server jest większa niż bieżąca dostępnego miejsca na dyskuDoradca System Center określa, czy wszystkie bazy danych w wystąpieniu programu SQL Server ma auto rosnąć skonfigurowany dla plików bazy danych. Jeśli wynikowy przyrostu auto-grow jest większa niż dostępne miejsce na woluminie, System Center klasyfikatora generuje ostrzeżenie dla tej bazy danych programu SQL Server. Jeśli to ostrzeżenie zostanie wyświetlone z System Center klasyfikatora, należy przejrzeć ustawienia dla plików podlegających usterce powiększać automatycznie i podjęcia działań naprawczych. Tę sytuację można rozwiązać przy użyciu jednej z następujących metod:
  • Zmniejszenie przyrostu, takie, że wzrost dalej może się zdarzyć w tym woluminie.
  • Dodać więcej miejsca do tego woluminu.
  • Przenieś ten plik na inny wolumin, który ma dostępnego miejsca do jego wzrostu.
Program SQL Server 2008
Program SQL Server 2008 R2



Powiązane artykuły

Aby uzyskać więcej informacji o tym, jak powiększać i zmniejszać pliki bazy danych i dziennika kliknij następujące numery artykułów w celu wyświetlenia tych artykułów z bazy wiedzy Microsoft Knowledge Base:

256650 jak zmniejszyć dziennika transakcji programu SQL Server 7.0

272318 zmniejszanie dziennika transakcji w programie SQL Server 2000 z DBCC SHRINKFILE

317375 dziennika transakcji powiększa się nieoczekiwanie lub zapełni się na komputerze, na którym działa program SQL Server

Błąd 247751 : planu konserwacji bazy danych nie zmniejszać bazy danych

305635 limit czasu występuje, gdy bazy danych jest automatyczne rozszerzanie

949523 opóźnienie replikacji transakcyjnej jest wysoki w programie SQL Server 2005, gdy wartość właściwości "Początkowy rozmiar" i wartość właściwości Autogrowth są niewielkie

Aby uzyskać więcej informacji o zainicjowanie pliku bazy danych odwiedź następującą witrynę Microsoft Developer Network (MSDN) w sieci Web:

Aby uzyskać więcej informacji o włączaniu błyskawiczne pliku inicjującego odwiedź następującą witrynę firmy Microsoft w sieci Web:Aby uzyskać więcej informacji na temat fizycznej architektury dziennika transakcji odwiedź następującą witrynę MSDN w sieci Web:

Dokumentacji SQL Server Books Online; tematy: "Transaction Log Physical Architecture"; "Zmniejszanie dziennika transakcji"
Właściwości

Identyfikator artykułu: 315512 — ostatni przegląd: 16.02.2017 — zmiana: 2

Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Express Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2005 Workgroup Edition, Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Express, Microsoft SQL Server 2008 Standard, Microsoft SQL Server 2008 Workgroup, Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2008 R2 Express, Microsoft SQL Server 2008 R2 Standard, Microsoft SQL Server 2008 R2 Workgroup, Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Express, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Express, Microsoft SQL Server 2014 Express, Microsoft SQL Server 2014 Express, Microsoft SQL Server 2014 Express, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2014 Standard

Opinia