Udostępnij za pośrednictwem


Konfigurowanie ustawień bazy danych tempdb dla usługi Azure SQL Managed Instance

Dotyczy: Azure SQL Managed Instance

W tym artykule przedstawiono sposób konfigurowania tempdb ustawień usługi Azure SQL Managed Instance.

Usługa Azure SQL Managed Instance umożliwia skonfigurowanie następujących elementów:

  • tempdb Liczba plików
  • Przyrost wzrostu tempdb plików
  • Maksymalny tempdb rozmiar

tempdb ustawienia są utrwalane po ponownym uruchomieniu, zaktualizowaniu wystąpienia lub przejściu w tryb failover.

Omówienie

tempdb jest jedną z domyślnych systemowych baz danych dostarczanych z usługą Azure SQL Managed Instance. Struktura tempdb jest taka sama jak każda inna struktura bazy danych użytkownika. Różnica polega na tym, że ponieważ tempdb jest używana w przypadku magazynu nieuruchomionego, transakcje są rejestrowane minimalnie.

tempdb Nie można porzucić, odłączyć, przełączyć w tryb offline, zmienić nazwy ani przywrócić. Próba dowolnego z tych operacji zwraca błąd. tempdb jest ponownie generowane po każdym uruchomieniu wystąpienia serwera, a wszystkie obiekty, które mogły zostać utworzone w tempdb trakcie poprzedniej sesji, nie są utrwalane po ponownym uruchomieniu usługi po operacji zarządzania aktualizacjami wystąpień lub przełączeniu w tryb failover.

Obciążenie różni się od tempdb obciążeń w innych bazach danych użytkowników; obiekty i dane są często tworzone i niszczone, a współbieżność jest bardzo wysoka. Dla każdego wystąpienia zarządzanego jest tylko jeden tempdb . Nawet jeśli masz wiele baz danych i aplikacji łączących się z wystąpieniem, wszystkie używają tej samej tempdb bazy danych. Usługi mogą napotkać rywalizację podczas próby przydzielenia stron w intensywnie używanym programie tempdb. W zależności od stopnia rywalizacji zapytania i żądania, które obejmują tempdb , mogą nie odpowiadać. tempdb Dlatego ma kluczowe znaczenie dla wydajności usługi.

tempdb Liczba plików

Zwiększenie liczby tempdb plików danych powoduje utworzenie co najmniej jednej strony GAM i SGAM dla każdego pliku danych, co pomaga poprawić tempdb współbieżność i zmniejszyć rywalizację o strony PFC. Jednak zwiększenie liczby tempdb plików danych może mieć inne implikacje dotyczące wydajności, dlatego należy dokładnie przetestować przed wdrożeniem w środowisku produkcyjnym.

Domyślnie usługa Azure SQL Managed Instance tworzy 12 tempdb plików danych i 1 tempdb plik dziennika, ale można zmodyfikować tę konfigurację.

Modyfikowanie liczby tempdb plików ma następujące ograniczenia:

  • Nazwa logiczna nowego pliku jest niewrażliwa na wielkość liter, z maksymalnie 16 znakami i bez spacji.
  • Maksymalna liczba tempdb plików to 128.

Uwaga

Nie trzeba ponownie uruchamiać serwera po dodaniu nowych plików; jednak pliki opróżniające zostaną wypełnione wyższym priorytetem, a algorytm działania okrężnego dla przydzielania stron zostanie utracony do czasu ponownego zrównoważenia systemu.

W celu zmiany liczby plików w tempdb usłudze Azure SQL Managed Instance można użyć programu SQL Server Management Studio (SSMS) i języka Transact-SQL (T-SQL).

Aby zmodyfikować liczbę tempdb plików, można użyć programu SQL Server Management Studio (SSMS). W tym celu wykonaj następujące kroki:

  1. Połącz się z wystąpieniem zarządzanym w programie SSMS.

  2. Rozwiń węzeł Bazy danych w Eksplorator obiektów, a następnie rozwiń węzeł Systemowe bazy danych.

  3. Kliknij prawym przyciskiem myszy pozycję tempdb, a następnie wybierz polecenie Właściwości.

  4. Wybierz pozycję Pliki w obszarze Wybierz stronę, aby wyświetlić istniejącą liczbę tempdb plików.

  5. Aby dodać plik, wybierz pozycję Dodaj , a następnie podaj informacje o nowym pliku danych w wierszu.

    Zrzut ekranu przedstawiający właściwości bazy danych w programie SSMS z wyróżnioną nową nazwą pliku bazy danych.

  6. Aby usunąć tempdb plik, wybierz plik, który chcesz usunąć z listy plików bazy danych, a następnie wybierz pozycję Usuń.

Przyrost wzrostu

tempdb Wzrost pliku może mieć wpływ na wydajność zapytań przy użyciu polecenia tempdb. W związku z tym tempdb przyrosty wzrostu plików danych, które są zbyt małe, mogą spowodować fragmentację zakresu, podczas gdy przyrosty, które są zbyt duże, mogą spowodować powolny wzrost lub awarię wzrostu, jeśli nie ma wystarczającej ilości miejsca na wzrost. Optymalna wartość tempdb przyrostów wzrostu plików zależy od obciążenia.

Domyślne przyrosty wzrostu dla usługi SQL Managed Instance to 254 MB dla tempdb plików danych i 64 MB dla tempdb plików dziennika, ale można skonfigurować przyrosty wzrostu, aby dostosować się do obciążenia i dostosować wydajność.

Rozważ następujące źródła:

  • Parametr wzrostu pliku obsługuje następujące jednostki dla int_growth_increment: KB, MB, GB, TB i %.
  • Przyrosty wzrostu powinny być takie same dla wszystkich tempdb plików danych, co w przeciwnym razie może mieć wpływ na algorytm działania okrężnego, który przydziela strony.

Możesz użyć programu SQL Server Management Studio (SSMS) i języka Transact-SQL (T-SQL), aby zmienić przyrost tempdb wzrostu plików.

Możesz użyć programu SQL Server Management Studio (SSMS), aby zmodyfikować przyrost tempdb wzrostu plików. W tym celu wykonaj następujące kroki:

  1. Połącz się z wystąpieniem zarządzanym w programie SSMS.

  2. Rozwiń węzeł Bazy danych w Eksplorator obiektów, a następnie rozwiń węzeł Systemowe bazy danych.

  3. Kliknij prawym przyciskiem myszy pozycję tempdb, a następnie wybierz polecenie Właściwości.

  4. Wybierz pozycję Pliki w obszarze Wybierz stronę, aby wyświetlić istniejącą liczbę tempdb plików.

  5. Wybierz wielokropek (...) obok pliku danych, aby otworzyć okno dialogowe Zmienianie automatycznego zwiększania wartości .

  6. Zaznacz pole wyboru obok pozycji Włącz automatyczne zwiększenie, a następnie zmodyfikuj ustawienia automatycznego zwiększania , określając wartości wzrostu pliku w megabajtach lub procentach.

    Zrzut ekranu przedstawiający zmianę automatycznego zwiększania wartości tempdev w programie SSMS z wyróżnioną nową nazwą pliku bazy danych.

  7. Wybierz OK, aby zapisać ustawienia.

Maksymalny rozmiar

tempdbrozmiar to łączny rozmiar wszystkich tempdb plików. tempdb Rozmiar pliku to przydzielone (zero) miejsce dla tego tempdb pliku. Początkowy rozmiar pliku dla wszystkich tempdb plików to 16 MB, czyli rozmiar wszystkich tempdb plików po ponownym uruchomieniu wystąpienia lub w trybie failover. tempdb Gdy używana przestrzeń pliku danych osiągnie rozmiar pliku, wszystkie tempdb pliki danych automatycznie rosną według skonfigurowanych przyrostów wzrostu.

tempdbużywane miejsce jest sumą używanego miejsca dla wszystkich tempdb plików. tempdb używane miejsce w pliku jest równe części tego rozmiaru tempdb pliku zajmowanego informacjami niezerowymi. Suma używanego tempdb miejsca i tempdb wolnego miejsca jest równa rozmiarowi tempdb .

Możesz użyć języka T-SQL, aby określić bieżące używane i wolne miejsce dla tempdb plików.

Aby uzyskać miejsce używane, wolne miejsce i rozmiar tempdb plików danych, uruchom następujące polecenie:

USE tempdb
SELECT SUM((allocated_extent_page_count)*1.0/128) AS TempDB_used_data_space_inMB, 
	SUM((unallocated_extent_page_count)*1.0/128) AS TempDB_free_data_space_inMB, 
	SUM(total_page_count*1.0/128) AS TempDB_data_size_inMB 
FROM sys.dm_db_file_space_usage

Poniższy zrzut ekranu przedstawia przykładowe dane wyjściowe:

Zrzut ekranu przedstawiający wynik zapytania w programie SSMS przedstawiający używane i wolne miejsce w pliku danych bazy danych tempdb.

Aby uzyskać używane miejsce, wolne miejsce i rozmiar tempdb plików dziennika, uruchom następujące polecenie:

USE tempdb
SELECT used_log_space_in_bytes*1.0/1024/1024 AS TempDB_used_log_space_inMB,
     (total_log_size_in_bytes- used_log_space_in_bytes)*1.0/1024/1024 AS TempDB_free_log_space_inMB,
     total_log_size_in_bytes*1.0/1024/1024 AS TempDB_log_size_inMB
FROM sys.dm_db_log_space_usage

Poniższy zrzut ekranu przedstawia przykładowe dane wyjściowe:

Zrzut ekranu przedstawiający wynik zapytania w programie SSMS przedstawiający używane i wolne miejsce w pliku dziennika bazy danych tempdb.

tempdb maksymalny rozmiar to limit, po którym tempdb nie można dalej rosnąć.

tempdb maksymalny rozmiar w usłudze SQL Managed Instance ma następujące ograniczenia:

  • W warstwie usługi Ogólnego przeznaczenia maksymalny rozmiar jest tempdb ograniczony do 24 GB/rdzeni wirtualnych (96–1920 GB), a plik dziennika wynosi 120 GB.
  • W warstwie usługi tempdb Krytyczne dla działania firmy konkuruje z innymi bazami danych dla zasobów, więc magazyn zarezerwowany jest współużytkowany między innymi bazami tempdb danych. Maksymalny rozmiar tempdb pliku dziennika wynosi 2 TB.

tempdb pliki rosną do momentu osiągnięcia maksymalnego limitu dozwolonego przez warstwę usługi lub ręcznie skonfigurowanego maksymalnego tempdb rozmiaru pliku.

W celu zmiany maksymalnego rozmiaru tempdb plików można użyć programu SQL Server Management Studio (SSMS) i języka Transact-SQL (T-SQL).

Aby określić bieżący maksymalny tempdb rozmiar w programie SSMS, wykonaj następujące kroki:

  1. Połącz się z wystąpieniem zarządzanym w programie SSMS.
  2. Rozwiń węzeł Bazy danych w Eksplorator obiektów, a następnie rozwiń węzeł Systemowe bazy danych.
  3. Kliknij prawym przyciskiem myszy pozycję tempdb, a następnie wybierz polecenie Właściwości.
  4. Na stronie Ogólne sprawdź wartość Rozmiar w obszarze Baza danych, aby określić maksymalny rozmiar bazy danych tempdb. Wartość -1 wskazuje maksymalny rozmiar bazy danych tempdb jest nieograniczony.

Zrzut ekranu przedstawiający właściwości bazy danych tempdb z maksymalnym rozmiarem bazy danych tempdb w programie SSMS.

Aby zmienić bieżący maksymalny tempdb rozmiar w programie SSMS, wykonaj następujące kroki:

  1. Połącz się z wystąpieniem zarządzanym w programie SSMS.
  2. Rozwiń węzeł Bazy danych w Eksplorator obiektów, a następnie rozwiń węzeł Systemowe bazy danych.
  3. Kliknij prawym przyciskiem myszy pozycję tempdb, a następnie wybierz polecenie Właściwości.
  4. Wybierz pozycję Pliki w obszarze Wybierz stronę, aby wyświetlić istniejącą liczbę tempdb plików.
  5. Wybierz wielokropek (...) obok pliku danych, aby otworzyć okno dialogowe Zmienianie automatycznego zwiększania wartości .
  6. tempdb Zmodyfikuj ustawienia maksymalnego rozmiaru, zmieniając wartości w obszarze Maksymalny rozmiar pliku.
  7. Wybierz OK, aby zapisać ustawienia.

Zrzut ekranu przedstawiający okno dialogowe zmiany automatycznego zwiększania w programie SSMS z wyróżnionym maksymalnym rozmiarem pliku.

limity bazy danych tempdb

W poniższej tabeli zdefiniowano limity dla różnych tempdb ustawień konfiguracji:

Ustawienie konfiguracji Wartości
tempdb Nazwy logiczne plików Maksymalnie 16 znaków
tempdb Liczba plików Maksymalna liczba plików: 128
Domyślna tempdb liczba plików 13 (1 plik dziennika + 12 plików danych)
Początkowy rozmiar tempdb plików danych 16 MB
Domyślny przyrost tempdb wzrostu plików danych 256 MB
Początkowy rozmiar tempdb plików dziennika 16 MB
Domyślny przyrost tempdb wzrostu plików dziennika 64 MB
tempdbMaksymalny rozmiar początkowy -1 (nieograniczona)
Maksymalny rozmiar tempdb Do rozmiaru magazynu

Następne kroki