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 PFS. 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:
Połącz się z wystąpieniem zarządzanym w programie SSMS.
Rozwiń węzeł Bazy danych w Eksplorator obiektów, a następnie rozwiń węzeł Systemowe bazy danych.
Kliknij prawym przyciskiem myszy pozycję
tempdb
, a następnie wybierz polecenie Właściwości.Wybierz pozycję Pliki w obszarze Wybierz stronę, aby wyświetlić istniejącą liczbę
tempdb
plików.Aby dodać plik, wybierz pozycję Dodaj , a następnie podaj informacje o nowym pliku danych w wierszu.
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:
Połącz się z wystąpieniem zarządzanym w programie SSMS.
Rozwiń węzeł Bazy danych w Eksplorator obiektów, a następnie rozwiń węzeł Systemowe bazy danych.
Kliknij prawym przyciskiem myszy pozycję
tempdb
, a następnie wybierz polecenie Właściwości.Wybierz pozycję Pliki w obszarze Wybierz stronę, aby wyświetlić istniejącą liczbę
tempdb
plików.Wybierz wielokropek (...) obok pliku danych, aby otworzyć okno dialogowe Zmienianie automatycznego zwiększania wartości .
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.
Wybierz OK, aby zapisać ustawienia.
Maksymalny rozmiar
tempdb
rozmiar 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.
tempdb
uż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:
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:
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 bazamitempdb
danych. Maksymalny rozmiartempdb
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:
- Połącz się z wystąpieniem zarządzanym w programie SSMS.
- Rozwiń węzeł Bazy danych w Eksplorator obiektów, a następnie rozwiń węzeł Systemowe bazy danych.
- Kliknij prawym przyciskiem myszy pozycję
tempdb
, a następnie wybierz polecenie Właściwości. - 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.
Aby zmienić bieżący maksymalny tempdb
rozmiar w programie SSMS, wykonaj następujące kroki:
- Połącz się z wystąpieniem zarządzanym w programie SSMS.
- Rozwiń węzeł Bazy danych w Eksplorator obiektów, a następnie rozwiń węzeł Systemowe bazy danych.
- Kliknij prawym przyciskiem myszy pozycję
tempdb
, a następnie wybierz polecenie Właściwości. - Wybierz pozycję Pliki w obszarze Wybierz stronę, aby wyświetlić istniejącą liczbę
tempdb
plików. - Wybierz wielokropek (...) obok pliku danych, aby otworzyć okno dialogowe Zmienianie automatycznego zwiększania wartości .
tempdb
Zmodyfikuj ustawienia maksymalnego rozmiaru, zmieniając wartości w obszarze Maksymalny rozmiar pliku.- Wybierz OK, aby zapisać ustawienia.
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 |
tempdb Maksymalny rozmiar początkowy |
-1 (nieograniczona) |
Maksymalny rozmiar tempdb |
Do rozmiaru magazynu |
Następne kroki
- Aby dowiedzieć się, jak utworzyć pierwsze wystąpienie zarządzane, zobacz Przewodnik Szybki start.
- Aby zapoznać się z listą funkcji i porównania, zobacz Typowe funkcje SQL.
- Aby uzyskać więcej informacji na temat konfiguracji sieci wirtualnej, zobacz Konfiguracja sieci wirtualnej usługi SQL Managed Instance.
- Aby uzyskać przewodnik Szybki start, który tworzy wystąpienie zarządzane i przywraca bazę danych z pliku kopii zapasowej, zobacz Tworzenie wystąpienia zarządzanego.
- Aby zapoznać się z samouczkiem dotyczącym używania usługi Azure Database Migration Service do migracji, zobacz Migracja wystąpienia zarządzanego SQL przy użyciu usługi Database Migration Service.
- Aby uzyskać zaawansowane monitorowanie usługi SQL Managed Instance, zobacz obserwator bazy danych.
- Aby uzyskać informacje o cenach, zobacz Cennik usługi SQL Database.