Konfigurace nastavení databáze tempdb pro službu Azure SQL Managed Instance
Platí pro: Azure SQL Managed Instance
V tomto článku se naučíte konfigurovat tempdb
nastavení služby Azure SQL Managed Instance.
Spravovaná instance Azure SQL umožňuje nakonfigurovat následující:
tempdb
Počet souborů- Růst přírůstku
tempdb
souborů - Maximální
tempdb
velikost
tempdb
nastavení se zachová po restartování, aktualizaci instance nebo v případě převzetí služeb při selhání.
Přehled
tempdb
je jednou z výchozích systémových databází, které jsou součástí služby Azure SQL Managed Instance. Struktura je stejná jako jakákoli jiná struktura tempdb
uživatelské databáze. Rozdíl je v tom, že vzhledem k tomu tempdb
, že se používá pro nedurable úložiště, transakce se protokolují minimálně.
tempdb
nejde odstranit, odpojit, přejmenovat nebo obnovit. Při pokusu o některou z těchto operací se zobrazí chyba. tempdb
se znovu vygeneruje při každém spuštění instance serveru a všechny objekty, které byly vytvořeny během tempdb
předchozí relace, se při restartování služby po operaci správy aktualizací instance nebo převzetí služeb při selhání nezachovají.
Úloha se tempdb
liší od úloh v jiných uživatelských databázích. Objekty a data se často vytvářejí a zničí a dochází k extrémně vysoké souběžnosti. Pro každou spravovanou instanci existuje jenom jedna tempdb
. I když máte více databází a aplikací, které se připojují k instanci, všechny používají stejnou tempdb
databázi. Služby můžou narazit na kolize, když se pokusí přidělit stránky v silně používaném tempdb
prostředí . V závislosti na stupni kolizí se dotazy a požadavky, které se týkají tempdb
, by mohly přestat reagovat. To je důvod, proč tempdb
je pro výkon služby zásadní.
tempdb
Počet souborů
Zvýšení počtu datových tempdb
souborů vytvoří jednu nebo více stránek GAM a SGAM pro každý datový soubor, což pomáhá zlepšit tempdb
souběžnost a snižuje kolize stránek PFS. Zvýšení počtu datových tempdb
souborů ale může mít další důsledky na výkon, proto důkladně otestujte před implementací v produkčním prostředí.
Azure SQL Managed Instance ve výchozím nastavení vytvoří 12 tempdb
datových souborů a 1 tempdb
soubor protokolu, ale tuto konfiguraci je možné upravit.
Změna počtu tempdb
souborů má následující omezení:
- Logický název nového souboru nerozlišuje velká a malá písmena s maximálně 16 znaky a bez mezer.
- Maximální počet
tempdb
souborů je 128.
Poznámka:
Po přidání nových souborů není nutné restartovat server; vyprázdnění souborů se však vyplní vyšší prioritou a algoritmus kruhového dotazování pro přidělování stránek se ztratí, dokud systém nebude vyrovnán.
Ke změně počtu souborů ve tempdb
službě Azure SQL Managed Instance můžete použít SQL Server Management Studio (SSMS) i Transact-SQL (T-SQL).
K úpravě počtu tempdb
souborů můžete použít SQL Server Management Studio (SSMS). Postup je následující:
Připojte se ke spravované instanci v SSMS.
Rozbalte položku Databáze v Průzkumník objektů a poté rozbalte systémové databáze.
Klikněte pravým tlačítkem myši
tempdb
a zvolte Vlastnosti.V části Vybrat stránku vyberte Soubory, na které chcete zobrazit existující počet
tempdb
souborů.Pokud chcete přidat soubor, zvolte Přidat a zadejte informace o novém datovém souboru na řádku.
tempdb
Pokud chcete odebrat soubor, zvolte soubor, který chcete odebrat ze seznamu databázových souborů, a pak vyberte Odebrat.
Přírůstek růstu
tempdb
Růst souborů může mít vliv na výkon dotazů používajících tempdb
. Růst datových souborů tak může způsobit tempdb
příliš malou fragmentaci, zatímco přírůstky, které jsou příliš velké, můžou vést k pomalému růstu nebo selhání růstu, pokud není dostatek místa pro růst. Optimální hodnota pro tempdb
přírůstky růstu souborů závisí na vaší úloze.
Výchozí přírůstky růstu pro službu SQL Managed Instance jsou 254 MB datových tempdb
souborů a 64 MB pro tempdb
soubory protokolů, ale můžete nakonfigurovat přírůstky růstu tak, aby se přizpůsobily vaší úloze a vyladily výkon.
Zvažte použití těchto zdrojů:
- Parametr růstu souboru podporuje následující jednotky pro
int_growth_increment
: KB, MB, GB, TB a %. - Přírůstky růstu by měly být stejné pro všechny
tempdb
datové soubory jako jinak, algoritmus kruhového dotazování, který přiděluje stránky, by mohl ovlivnit.
Ke změně růstu tempdb
souborů můžete použít SQL Server Management Studio (SSMS) i Transact-SQL (T-SQL).
Pomocí aplikace SQL Server Management Studio (SSMS) můžete upravit růst přírůstku tempdb
souborů. Postup je následující:
Připojte se ke spravované instanci v SSMS.
Rozbalte položku Databáze v Průzkumník objektů a poté rozbalte systémové databáze.
Klikněte pravým tlačítkem myši
tempdb
a zvolte Vlastnosti.V části Vybrat stránku vyberte Soubory, na které chcete zobrazit existující počet
tempdb
souborů.Výběrem tří teček (...) vedle datového souboru otevřete dialogové okno Změnit vlastnosti automatického zvětšování .
Zaškrtněte políčko vedle možnosti Povolit automatické zvětšování a upravte nastavení automatického zvětšování zadáním hodnot růstu souboru v procentech nebo megabajtech.
Nastavení uložte tlačítkem OK.
Maximální velikost
tempdb
velikost je součet všech tempdb
souborů. tempdb
Velikost souboru je přidělený (nula) prostor pro tento tempdb
soubor. Počáteční velikost souboru pro všechny tempdb
soubory je 16 MB, což je velikost všech tempdb
souborů při restartování instance nebo převzetí služeb při selhání. tempdb
Jakmile využité místo datového souboru dosáhne velikosti souboru, všechny tempdb
datové soubory se automaticky zvětší o jejich nakonfigurované přírůstky.
tempdb
využité místo je součet využitého místa u všech tempdb
souborů. tempdb
Využité místo souboru se rovná části této tempdb
velikosti souboru, která je obsazena nenulovými informacemi. Součet využitého tempdb
místa a tempdb
volného místa se rovná tempdb
velikosti.
K určení aktuálního využitého a volného místa pro soubory tempdb
můžete použít T-SQL.
Pokud chcete získat využité místo, volné místo a velikost datových souborů, spusťte tempdb
tento příkaz:
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
Následující snímek obrazovky ukazuje ukázkový výstup:
Pokud chcete získat využité místo, volné místo a velikost souborů protokolu, spusťte tempdb
tento příkaz:
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
Následující snímek obrazovky ukazuje ukázkový výstup:
tempdb
maximální velikost je limit, po kterém se vaše tempdb
velikost nemůže dále zvětšovat.
tempdb
maximální velikost ve službě SQL Managed Instance má následující omezení:
- Na úrovni služby Pro obecné účely je maximální velikost
tempdb
omezená na 24 GB/vCore (96–1920 GB) a soubor protokolu je 120 GB. - V Pro důležité obchodní informace úrovni
tempdb
služby soupeří s ostatními databázemi o prostředky, takže rezervované úložiště se sdílí mezitempdb
databázemi a jinými databázemi. Maximální velikosttempdb
souboru protokolu je 2 TB.
tempdb
soubory se zvětšují, dokud nedosáhne maximálního limitu povoleného úrovní služby nebo ručně nakonfigurované maximální tempdb
velikosti souboru.
Ke změně maximální velikosti tempdb
souborů můžete použít SQL Server Management Studio (SSMS) i Transact-SQL (T-SQL).
Pokud chcete zjistit aktuální maximální tempdb
velikost V SSMS, postupujte takto:
- Připojte se ke spravované instanci v SSMS.
- Rozbalte položku Databáze v Průzkumník objektů a poté rozbalte systémové databáze.
- Klikněte pravým tlačítkem myši
tempdb
a zvolte Vlastnosti. - Na stránce Obecné zkontrolujte hodnotu Velikost v části Databáze a určete maximální velikost databáze tempdb. Hodnota
-1
indikuje maximální velikost databáze tempdb je neomezená.
Pokud chcete změnit aktuální tempdb
maximální velikost V SSMS, postupujte takto:
- Připojte se ke spravované instanci v SSMS.
- Rozbalte položku Databáze v Průzkumník objektů a poté rozbalte systémové databáze.
- Klikněte pravým tlačítkem myši
tempdb
a zvolte Vlastnosti. - V části Vybrat stránku vyberte Soubory, na které chcete zobrazit existující počet
tempdb
souborů. - Výběrem tří teček (...) vedle datového souboru otevřete dialogové okno Změnit vlastnosti automatického zvětšování .
- Upravte
tempdb
nastavení maximální velikosti změnou hodnot v části Maximální velikost souboru. - Nastavení uložte tlačítkem OK.
omezení databáze tempdb
Následující tabulka definuje omezení pro různá tempdb
nastavení konfigurace:
Nastavení konfigurace | Hodnoty |
---|---|
Logické názvy tempdb souborů |
Maximálně 16 znaků |
tempdb Počet souborů |
Maximálně 128 souborů |
Výchozí počet tempdb souborů |
13 (1 soubor protokolu + 12 datových souborů) |
Počáteční velikost datových tempdb souborů |
16 MB |
Výchozí růst přírůstku datových tempdb souborů |
256 MB |
Počáteční velikost tempdb souborů protokolu |
16 MB |
Výchozí růst přírůstku tempdb souborů protokolu |
64 MB |
Počáteční maximální tempdb velikost |
-1 (bez omezení) |
Maximální velikost tempdb |
Až do velikosti úložiště |
Další kroky
- Informace o vytvoření první spravované instance najdete v příručce Rychlý start.
- Seznam funkcí a porovnání najdete v tématu Běžné funkce SQL.
- Další informace o konfiguraci virtuální sítě najdete v tématu Konfigurace virtuální sítě spravované instance SQL.
- Rychlý start, který vytvoří spravovanou instanci a obnoví databázi ze záložního souboru, najdete v tématu Vytvoření spravované instance.
- Kurz použití služby Azure Database Migration Service k migraci najdete v tématu Migrace spravované instance SQL pomocí služby Database Migration Service.
- Pokročilé monitorování služby SQL Managed Instance najdete v sledovacím modulu databáze.
- Informace o cenách najdete v tématu s cenami služby SQL Database.