Udostępnij za pośrednictwem


Optymalizacja wydajności tempdb

Rozmiar i położenie fizycznej tempdb bazy danych może mieć wpływ na wydajność systemu.Na przykład, jeśli rozmiar jest zdefiniowany dla tempdb jest za mały, część obciążenia przetwarzaniem systemowym mogą być pobierane z autogrowing tempdb do rozmiaru wymagane do obsługi obciążenia co czas ponownie uruchom wystąpienie SQL Server.Można uniknąć tego zapasu przez zwiększenie rozmiarów tempdb plików danych i dziennika.Aby uzyskać informacje dotyczące określania odpowiedniej ilości miejsca na dysku wymaganego dla tempdb, zobacz Planowanie pojemności tempdb.

tempdb rozmiar i położenie zalecenia

Aby osiągnąć optymalną tempdb wydajność, zaleca się następującą konfiguracja tempdb w środowisku produkcyjnym:

  • Ustaw model odzyskiwanie z tempdb do PROSTEJ.Ten model ta automatycznie zachować wymagań dotyczących miejsca mały miejsca w dzienniku.

    Aby uzyskać więcej informacji, zobacz ALTER DATABASE (Transact-SQL) lub Jak Wyświetl lub zmień modelu odzyskiwania bazy danych (SQL Server Management Studio).

  • Zezwalaj na tempdb wymagane pliki automatycznie rosnąć jako.Pozwala to na pliku aż dysk jest zapełniony.

    Ostrzeżenie

    Jeśli w środowisku produkcyjnym nie można tolerować potencjał dla aplikacji czas-limity, które mogą wystąpić podczas operacji autogrow przydzielenia miejsca, aby obciążenie oczekiwane.

  • Przyrost rozmiaru pliku ustawić rozsądny rozmiar, aby uniknąć tempdb pliki bazy danych z uprawy przez zbyt małą wartość.Jeśli przyrost pliku jest zbyt mały, w stosunku do danych zapisywanych do tempdb, tempdb może być stale rozwinięcie.Wpłynie to na wydajność.Zaleca się ogólne wytyczne ustawienie skokiem FILEGROWTH tempdb pliki.

    rozmiar pliku tempdb

    Przyrost FILEGROWTH

    0-100 MB

    10 MB

    100 to 200 MB

    20 MB

    200 MB lub więcej

    10%*

    * Być może trzeba dostosować ten procent opartą na szybkości podsystemu We/Wy, na którym tempdb znajdują się pliki.Aby uniknąć potencjalnych zatrzaśnięć czas-limity, firma Microsoft zaleca ograniczenie operacji autogrow do około dwóch minut.Na przykład, jeśli podsystem wejścia/wyjścia można zainicjować pliku na 50 MB na sekundę, przyrost FILEGROWTH powinny być zestaw do maksymalnie 6 GB, niezależnie od tempdb rozmiar pliku.Jeśli to możliwe, błyskawiczne plik bazy danych inicjowania zwiększyć wydajność operacji autogrow.

  • Wstępnie przydziel miejsce dla wszystkich tempdb plików przez ustawienie rozmiaru pliku wartość wystarczającą do typowych operacji w środowisku.Zapobiega to tempdb z rozwijanie zbyt często, co może wpłynąć na wydajność. tempdb Bazy danych powinien być zestaw do autogrow, ale ta powinna być używana, aby zwiększyć ilość miejsca dla wyjątków niezaplanowane.

  • Utworzyć wiele plików, tak aby zmaksymalizować dysku przepustowości.Wiele plików zmniejsza tempdb Magazyn rywalizacja i plonów znacznie lepsze skalowalność.Jednakże nie należy tworzyć zbyt wiele plików, ponieważ może to zmniejszyć wydajność i zwiększyć koszty zarządzania.Jako wytyczne ogólne, należy utworzyć jeden plik danych dla każdego Procesora na serwerze (rachunkowości dla każdego maski koligacji ustawienia), a następnie dopasuj liczbę plików w górę lub niedziałający, w razie potrzeby.Należy zauważyć, że Procesor dwurdzeniowy uważane jest za dwa procesory.

  • Każdy danych plików o rozmiarze; Pozwala to zapewnić optymalną wydajność proporcjonalne wypełnienia.

  • Umieścić tempdb bazy danych na szybkiego podsystemu We/Wy.Użyj dysku przeplatana, jeśli istnieje wiele bezpośrednio dołączone dyski.

  • Umieścić tempdb bazy danych na dyskach, które inne od tych, które są używane przez użytkownika baz danych.

Modyfikowanie parametrów wzrostu i tempdb rozmiar

Można zmienić rozmiar i wzrostu parametry pliku tempdb plików danych lub dziennika przy użyciu jednej z następujących metod:

Wartości parametrów pliku rozmiar i filegrowth są używane przy każdym tempdb jest tworzony.Na przykład zwiększyć rozmiar tempdb dane plików do 20 MB i zwiększyć przyrost rozmiaru pliku do 15 procent, nowe wartości niezwłocznie podjąć wpływu.Jeśli kolejne działania transakcyjnych powodują tempdb rośnie, plik danych zwróci rozmiar 20 MB każdy czas ponownie uruchom wystąpienie SQL Server.

Przeglądanie parametrów wzrostu i tempdb rozmiar

Można wyświetlać rozmiar i wzrostu parametry pliku tempdb plików danych lub dziennika przy użyciu jednej z następujących metod:

  • SQL Server Management Studio

  • Uruchomiona następująca kwerenda.

    SELECT 
        name AS FileName, 
        size*1.0/128 AS FileSizeinMB,
        CASE max_size 
            WHEN 0 THEN 'Autogrowth is off.'
            WHEN -1 THEN 'Autogrowth is on.'
            ELSE 'Log file will grow to a maximum size of 2 TB.'
        END,
        growth AS 'GrowthValue',
        'GrowthIncrement' = 
            CASE
                WHEN growth = 0 THEN 'Size is fixed and will not grow.'
                WHEN growth > 0 AND is_percent_growth = 0 
                    THEN 'Growth value is in 8-KB pages.'
                ELSE 'Growth value is a percentage.'
            END
    FROM tempdb.sys.database_files;
    GO
    

Wykrywanie błędów We/Wy ścieżki dysku

Gdy zestaw do sumy kontrolnej, opcja PAGE_VERIFY wykrywa strony uszkodzonej bazy danych spowodowane przez błędy ścieżka do dysku i raporty te błędy, takie jak MSSQLSERVER_823, MSSQLSERVER_824, lub MSSQLSERVER_825, w SQL można błądBłędy ścieżka do dysku może być przyczyną bazy danych problemów uszkodzenia i są zazwyczaj spowodowane awarie zasilania lub awarii sprzętu dysku, które występują w czas strona jest zapisywany na dysku.Aby uzyskać więcej informacji na temat błędów We/Wy, zobacz Microsoft SQL Server we/wy podstawy, rozdział 2.

W starszych wersjach SQL Server, PAGE_VERIFY opcja bazy danych jest zestaw na wartość Brak dla tempdb bazy danych i nie może być modyfikowana.W SQL Server 2008, wartość domyślna dla tempdb Baza danych jest sumy kontrolnej dla nowych instalacji SQL Server.Podczas uaktualniania instalacji SQL Server, wartość domyślna pozostaje Brak.Zalecane jest zestaw opcja PAGE_VERIFY tempdb bazy danych do sumy kontrolnej.