Tempdb-instellingen configureren voor Azure SQL Managed Instance
Van toepassing op: Azure SQL Managed Instance
In dit artikel leert u hoe u uw tempdb
instellingen configureert voor Azure SQL Managed Instance.
Met Azure SQL Managed Instance kunt u het volgende configureren:
- Aantal
tempdb
bestanden - De toename van
tempdb
bestanden - Maximale
tempdb
grootte
tempdb
instellingen blijven behouden nadat uw exemplaar opnieuw is opgestart, bijgewerkt of als er een failover is.
Overzicht
tempdb
is een van de standaardsysteemdatabases die worden geleverd met Azure SQL Managed Instance. De structuur van tempdb
is hetzelfde als elke andere gebruikersdatabasestructuur. Het verschil is dat transacties minimaal worden geregistreerd, omdat ze worden tempdb
gebruikt voor niet-beveiligbare opslag.
tempdb
kan niet worden verwijderd, losgekoppeld, offline gehaald, hernoemd of hersteld. Als u een van deze bewerkingen probeert uit te voeren, wordt een fout geretourneerd. tempdb
wordt opnieuw gegenereerd bij elk begin van het serverexemplaren en alle objecten die tijdens een vorige sessie zijn gemaakt tempdb
, blijven niet behouden wanneer de service opnieuw wordt opgestart, na een updatebeheerbewerking van het exemplaar of een failover.
De workload in tempdb
verschilt van workloads in andere gebruikersdatabases; objecten en gegevens worden vaak gemaakt en vernietigd en er is extreem hoge gelijktijdigheid. Er is slechts één tempdb
voor elk beheerd exemplaar. Zelfs als u meerdere databases en toepassingen hebt die verbinding maken met het exemplaar, gebruiken ze allemaal dezelfde tempdb
database. Services kunnen conflicten ondervinden wanneer ze pagina's proberen toe te wijzen in een intensief gebruikt tempdb
. Afhankelijk van de mate van conflicten kunnen query's en aanvragen die hierbij betrokken tempdb
zijn, niet meer reageren. Daarom is tempdb
dit essentieel voor de prestaties van de service.
Aantal tempdb
bestanden
Als u het aantal tempdb
gegevensbestanden verhoogt, worden voor elk gegevensbestand een of meer GAM- en SGAM-pagina's gemaakt, waardoor gelijktijdigheid wordt verbeterd tempdb
en pfC-paginaconflicten worden verminderd. Het verhogen van het aantal tempdb
gegevensbestanden kan echter andere gevolgen hebben voor de prestaties, dus test grondig voordat u in productie implementeert.
Azure SQL Managed Instance maakt standaard 12 tempdb
gegevensbestanden en 1 tempdb
logboekbestand, maar het is mogelijk om deze configuratie te wijzigen.
Het wijzigen van het aantal tempdb
bestanden heeft de volgende beperkingen:
- De logische naam van het nieuwe bestand is niet hoofdlettergevoelig, met maximaal 16 tekens en geen spaties.
- Het maximum aantal
tempdb
bestanden is 128.
Notitie
U hoeft de server niet opnieuw op te starten nadat u nieuwe bestanden hebt toegevoegd; de lege bestanden worden echter gevuld met een hogere prioriteit en het round robin-algoritme voor het toewijzen van pagina's gaat verloren totdat het systeem opnieuw wordt verdeeld.
U kunt zowel SQL Server Management Studio (SSMS) als Transact-SQL (T-SQL) gebruiken om het aantal bestanden in tempdb
Azure SQL Managed Instance te wijzigen.
U kunt SQL Server Management Studio (SSMS) gebruiken om het aantal tempdb
bestanden te wijzigen. Dit doet u als volgt:
Maak verbinding met uw beheerde exemplaar in SSMS.
Vouw Databases uit in Objectverkenner en vouw vervolgens Systeemdatabases uit.
Klik met de rechtermuisknop
tempdb
en kies Eigenschappen.Selecteer Bestanden onder Een pagina selecteren om het bestaande aantal
tempdb
bestanden weer te geven.Als u een bestand wilt toevoegen, kiest u Toevoegen en geeft u vervolgens informatie op over het nieuwe gegevensbestand in de rij.
Als u een
tempdb
bestand wilt verwijderen, kiest u het bestand dat u wilt verwijderen uit de lijst met databasebestanden en selecteert u Verwijderen.
Toename van groei
tempdb
bestandsgroei kan een invloed hebben op de prestaties van query's met behulp van tempdb
. Als zodanig tempdb
kunnen toenamen van de groei van gegevensbestanden die te klein zijn, fragmentatie veroorzaken, terwijl incrementen die te groot zijn, leiden tot trage groei of groeifouten als er onvoldoende ruimte is om de groei te laten plaatsvinden. De optimale waarde voor toenamen van tempdb
bestandsgroei is afhankelijk van uw workload.
De standaardgroeiverhogingen voor SQL Managed Instance zijn 254 MB voor tempdb
gegevensbestanden en 64 MB voor tempdb
logboekbestanden, maar u kunt groeiverhogingen configureren om zich aan uw workload aan te passen en uw prestaties af te stemmen.
Denk aan het volgende:
- De parameter voor bestandsgroei ondersteunt de volgende eenheden voor
int_growth_increment
: KB, MB, GB, TB en %. - Groeistappen moeten hetzelfde zijn voor alle
tempdb
gegevensbestanden als anders, het round robin-algoritme dat pagina's toewijst, kan worden beïnvloed.
U kunt zowel SQL Server Management Studio (SSMS) als Transact-SQL (T-SQL) gebruiken om de groeiverhoging voor uw tempdb
bestanden te wijzigen.
U kunt SQL Server Management Studio (SSMS) gebruiken om de toename van tempdb
bestanden te wijzigen. Dit doet u als volgt:
Maak verbinding met uw beheerde exemplaar in SSMS.
Vouw Databases uit in Objectverkenner en vouw vervolgens Systeemdatabases uit.
Klik met de rechtermuisknop
tempdb
en kies Eigenschappen.Selecteer Bestanden onder Een pagina selecteren om het bestaande aantal
tempdb
bestanden weer te geven.Kies het beletselteken (...) naast een gegevensbestand om het dialoogvenster Eigenschappen voor automatisch groei wijzigen te openen.
Schakel het selectievakje naast Automatisch groeien inschakelen in en wijzig vervolgens de instellingen voor automatischgroei door de waarden voor bestandsgroei op te geven, in procenten of megabytes.
Selecteer OK om uw instellingen op te slaan.
Maximale grootte
tempdb
grootte is de som van alle tempdb
bestanden. tempdb
bestandsgrootte is een toegewezen (nul) ruimte voor dat tempdb
bestand. De oorspronkelijke bestandsgrootte voor alle tempdb
bestanden is 16 MB, wat de grootte is van alle tempdb
bestanden wanneer het exemplaar opnieuw wordt opgestart of een failover-overschakeling uitvoert. Zodra de gebruikte ruimte van een tempdb
gegevensbestand de bestandsgrootte heeft bereikt, worden alle tempdb
gegevensbestanden automatisch vergroot door de geconfigureerde groeiverhogingen.
tempdb
gebruikte ruimte is de som van de gebruikte ruimte van alle tempdb
bestanden. tempdb
de gebruikte ruimte voor bestanden is gelijk aan het deel van de tempdb
bestandsgrootte die is bezet met niet-nulgegevens. De som van tempdb
de gebruikte ruimte en tempdb
vrije ruimte is gelijk aan de tempdb
grootte.
U kunt T-SQL gebruiken om de huidige gebruikte en vrije ruimte voor uw tempdb
bestanden te bepalen.
Voer deze opdracht uit om gebruikte ruimte, vrije ruimte en grootte van uw tempdb
gegevensbestanden op te halen:
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
In de volgende schermopname ziet u een voorbeeld van uitvoer:
Voer deze opdracht uit om de gebruikte ruimte, vrije ruimte en grootte van uw tempdb
logboekbestanden op te halen:
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
In de volgende schermopname ziet u een voorbeeld van uitvoer:
tempdb
maximale grootte is de limiet waarna u tempdb
niet verder kunt groeien.
tempdb
de maximale grootte in SQL Managed Instance heeft de volgende beperkingen:
- In de servicelaag Algemeen gebruik is de maximale grootte
tempdb
beperkt tot 24 GB/vCore (96-1920 GB) en is het logboekbestand 120 GB. - In de servicelaag
tempdb
Bedrijfskritiek concurreert u met andere databases voor resources, zodat de gereserveerde opslag wordt gedeeld tussentempdb
en andere databases. De maximale grootte van hettempdb
logboekbestand is 2 TB.
tempdb
bestanden groeien totdat ze de maximale limiet bereiken die is toegestaan door de servicelaag of door de handmatig geconfigureerde maximale tempdb
bestandsgrootte.
U kunt zowel SQL Server Management Studio (SSMS) als Transact-SQL (T-SQL) gebruiken om de maximale grootte voor uw tempdb
bestanden te wijzigen.
Volg deze stappen om de huidige tempdb
maximale grootte in SSMS te bepalen:
- Maak verbinding met uw beheerde exemplaar in SSMS.
- Vouw Databases uit in Objectverkenner en vouw vervolgens Systeemdatabases uit.
- Klik met de rechtermuisknop
tempdb
en kies Eigenschappen. - Controleer op de pagina Algemeen de waarde Grootte onder Database om de maximale tempdb-grootte te bepalen. Een waarde van
-1
geeft aan dat tempdb maximale grootte onbeperkt is.
Als u de huidige tempdb
maximale grootte in SSMS wilt wijzigen, voert u de volgende stappen uit:
- Maak verbinding met uw beheerde exemplaar in SSMS.
- Vouw Databases uit in Objectverkenner en vouw vervolgens Systeemdatabases uit.
- Klik met de rechtermuisknop
tempdb
en kies Eigenschappen. - Selecteer Bestanden onder Een pagina selecteren om het bestaande aantal
tempdb
bestanden weer te geven. - Kies het beletselteken (...) naast een gegevensbestand om het dialoogvenster Eigenschappen voor automatisch groei wijzigen te openen.
- Wijzig de
tempdb
instellingen voor maximale grootte door de waarden onder Maximale bestandsgrootte te wijzigen. - Selecteer OK om uw instellingen op te slaan.
tempdb-limieten
In de volgende tabel worden limieten gedefinieerd voor verschillende tempdb
configuratie-instellingen:
Configuratie-instelling | Waarden |
---|---|
Logische namen van tempdb bestanden |
Maximaal 16 tekens |
Aantal tempdb bestanden |
Maximaal 128 bestanden |
Standaardaantal tempdb bestanden |
13 (1 logboekbestand + 12 gegevensbestanden) |
Initiële grootte van tempdb gegevensbestanden |
16 MB |
Standaardgroeiverhoging van tempdb gegevensbestanden |
256 MB |
Oorspronkelijke grootte van tempdb logboekbestanden |
16 MB |
Standaardgroeiverhoging van tempdb logboekbestanden |
64 MB |
Oorspronkelijke maximale tempdb grootte |
-1 (onbeperkt) |
Maximale grootte van tempdb |
Tot de opslaggrootte |
Volgende stappen
- Zie de Quickstart-gids voor meer informatie over het maken van uw eerste beheerde exemplaar.
- Zie Veelvoorkomende SQL-functies voor een lijst met functies en vergelijkingen.
- Zie VNet-configuratie van SQL Managed Instance voor meer informatie over VNet-configuratie.
- Zie Beheerd exemplaar maken voor een quickstart waarmee u een beheerd exemplaar kunt maken en een database vanuit een back-upbestand kunt herstellen.
- Zie Migratie van SQL Managed Instance met behulp van Database Migration Service voor een zelfstudie over Azure Database Migration Service voor migratie.
- Zie Azure SQL Managed Instance bewaken met Azure SQL-analyse voor geavanceerde bewaking van de databaseprestaties in SQL Managed Instance, met ingebouwde intelligentie voor het oplossen van problemen.
- Zie Prijs van SQL Database voor informatie over prijzen.