Prestaties configureren en onderhouden

Voltooid

Inzicht in de mogelijkheden van Azure SQL is belangrijk voor het leveren van consistente prestaties. Het is ook belangrijk om te weten welke opties en beperkingen u hebt voor het configureren van Azure SQL Managed Instance en Azure SQL Database die de prestaties kunnen beïnvloeden. Deze eigenschappen omvatten onder andere:

  • Onderwerpen van de tempdb database
  • Databases configureren
  • Bestanden en bestandsgroepen configureren
  • Maximale mate van parallelle uitvoering configureren
  • Resource Governor gebruiken
  • Indexen en statistieken onderhouden

Tempdb

De tempdb systeemdatabase is een belangrijke gedeelde resource die wordt gebruikt door toepassingen. Ervoor zorgen dat de juiste configuratie tempdb van invloed kan zijn op uw vermogen om consistente prestaties te leveren. U gebruikt tempdb op dezelfde manier voor zowel SQL Server als Azure SQL. Houd er echter rekening mee dat uw mogelijkheid om te configureren tempdb verschilt, waaronder de plaatsing van bestanden, het aantal en de grootte van bestanden en tempdb configuratieopties.

De databasebestanden van tempdb worden altijd automatisch opgeslagen op lokale SSD-stations, dus I/O-prestaties mogen geen probleem zijn.

SQL Server-professionals gebruiken vaak meer dan één databasebestand om toewijzingen voor tempdb tabellen te partitioneren. Voor Azure SQL Database wordt het aantal bestanden geschaald met het aantal vCores (bijvoorbeeld twee vCores is gelijk aan vier bestanden) met een maximum van 16. Het aantal bestanden kan niet worden geconfigureerd via T-SQL tempdb, maar u kunt het configureren door de implementatieoptie te wijzigen. De maximale grootte wordt tempdb geschaald per aantal vCores. U krijgt 12 bestanden met SQL Managed Instance, onafhankelijk van vCores.

De databaseoptie MIXED_PAGE_ALLOCATION is ingesteld op UIT en AUTOGROW_ALL_FILES is ingesteld op AAN. U kunt dit niet configureren, maar net als bij SQL Server zijn dit de aanbevolen standaardwaarden.

De tempdb functie voor optimalisatie van metagegevens die is geïntroduceerd in SQL Server 2019, wat zware vergrendelingsconflicten kan verlichten, is momenteel niet beschikbaar in Azure SQL Database of Azure SQL Managed Instance.

Databaseconfiguratie

Over het algemeen configureert u een database met de T-SQL-instructies ALTER DATABASE en ALTER DATABASE SCOPED CONFIGURATION. Veel van de configuratieopties voor prestaties zijn beschikbaar voor Azure SQL. Raadpleeg de T-SQL-verwijzing ALTER DATABASE en ALTER DATABASE SCOPED CONFIGURATION voor de verschillen tussen SQL Server, Azure SQL Database en Azure SQL Managed Instance.

Een prestatieoptie die u niet kunt wijzigen, is het herstelmodel van de database. De standaardinstelling is volledig herstel. Dit zorgt ervoor dat uw database voldoet aan de Service Level Agreements (SLA's) van Azure. Minimale logboekregistratie voor bulkbewerkingen wordt daarom niet ondersteund. Minimale logboekregistratie voor bulkbewerkingen wordt ondersteund voor tempdb.

Bestanden en bestandsgroepen

SQL Server-professionals gebruiken vaak bestanden en bestandsgroepen om de I/O-prestaties te verbeteren via fysieke bestandsplaatsing. Met Azure SQL kunnen gebruikers geen bestanden op specifieke schijfsystemen plaatsen. Azure SQL heeft echter resourcetoezeggingen voor I/O-prestaties met betrekking tot snelheden, IOPS en latentie. Op deze manier kan het samenstellen van de gebruiker van fysieke bestandsplaatsing een voordeel zijn.

Azure SQL Database heeft slechts één databasebestand (Hyperscale heeft meestal een aantal) en de maximale grootte wordt geconfigureerd via Azure-interfaces. Er is geen functionaliteit om extra bestanden te maken.

Azure SQL Managed Instance biedt ondersteuning voor het toevoegen van databasebestanden en het configureren van grootten, maar niet voor fysieke plaatsing van bestanden. U kunt het aantal bestanden en bestandsgrootten voor SQL Managed Instance gebruiken om de I/O-prestaties te verbeteren. Daarnaast worden door de gebruiker gedefinieerde bestandsgroepen ondersteund door SQL Managed Instance voor beheerbaarheid.

MAXDOP-configuratie

Het maximale niveau van parallelle uitvoering (MAXDOP) kan van invloed zijn op de prestaties van afzonderlijke query's. SQL Server en Azure SQL verwerken MAXDOP op dezelfde manier. U kunt MAXDOP in Azure SQL op dezelfde manier als in SQL Server configureren met behulp van de volgende technieken:

  • ALTER DATABASE SCOPED CONFIGURATION om MAXDOP te configureren wordt ondersteund voor Azure SQL.
  • De opgeslagen procedure sp_configure voor de 'maximale mate van parallelle uitvoering' wordt ondersteund voor SQL Managed Instance.
  • MAXDOP-queryhints worden volledig ondersteund.
  • Het configureren van MAXDOP met Resource Governor wordt ondersteund voor SQL Managed Instance.

Resource Governor

Resource Governor is een functie in SQL Server die u kunt gebruiken om resourcegebruik voor workloads te beheren via I/O, CPU en geheugen. Houd er rekening mee dat voor door de gebruiker gedefinieerde werkbelastinggroepen en -pools Resource Governor wordt ondersteund voor SQL Managed Instance, maar niet wordt ondersteund voor Azure SQL Database.

Indexonderhoud

Het maken en onderhouden van indexen voor Azure SQL is precies hetzelfde als voor SQL Server. Het maken, herbouwen en opnieuw indelen van indexen wordt bijvoorbeeld volledig ondersteund, net als in SQL Server. Dit omvat online en hervatbare indexen.

Onderhoud van statistieken

SQL Server en Azure SQL verwerken statistieken op dezelfde manier. Opties voor automatische statistieken voor databases zijn voor beiden beschikbaar.

Nu u enkele configuratie- en onderhoudsopties voor prestaties voor Azure SQL hebt geleerd, voert u de volgende kennistoets uit voordat u verdergaat met de volgende les.

Kenniscontrole

1.

Met welke methode kan het aantal bestanden voor tempdb worden geconfigureerd voor Azure SQL Database?

2.

Met welke methode kunt u I/O-prestaties voor Azure SQL Database configureren?

3.

Hoe werkt indexen onderhouden met Azure SQL?