Azure SQL plannen, implementeren en verifiëren

Voltooid

Nadat u een workload hebt geselecteerd om te migreren naar of te maken in Azure SQL, moet u uw implementatie plannen, dienovereenkomstig implementeren en controleren of de implementatie is geslaagd. In deze les leert u verschillende methoden voor elke stap in het proces.

Planning van de implementatie

Voordat u begint met het implementeren van dingen in Azure, is het belangrijk om inzicht te hebben in uw vereisten en hoe ze worden toegewezen aan aanbiedingen in Azure SQL. Maak een plan met behulp van wat u hebt geleerd in de introductiemodule van Azure SQL. U moet de volgende vragen beantwoorden:

  • Implementatiemethode: Azure Portal of opdrachtregelinterface?
  • Implementatieoptie: Virtuele machine, database, elastische pool, beheerd exemplaar of exemplaarpool?
  • Aankoopmodel (alleen Azure SQL Database): DTU of vCore?
  • Servicelaag: Algemeen gebruik, Bedrijfskritiek of Hyperscale?
  • Hardware: Gen5 of iets nieuws?
  • Grootte aanpassen: aantal vCores en maximale grootte van gegevens?

Misschien moet u voordat u de voorgaande vragen beantwoordt ook een workload kiezen die naar Azure SQL wordt gemigreerd of die in de cloud wordt geboren. Als u bezig bent met migreren, zijn er veel hulpprogramma's en resources beschikbaar om u te helpen bij het plannen, beoordelen, migreren en optimaliseren van uw databases en toepassing. Aan het einde van deze module bieden we resources.

Bronlimieten

In de Introductiemodule van Azure SQL worden limieten, tarieven en mogelijkheden beschreven, zoals IOPS of OLTP in het geheugen. Er zijn andere resourcelimieten die worden beïnvloed door uw keuze voor Azure SQL Managed Instance, Azure SQL Database of opties binnen deze opties:

  • Geheugen
  • Maximale logboekgrootte
  • Transactielogboeksnelheid
  • Gegevens-IOPS
  • Grootte van tempdb
  • Maximale aantal gelijktijdige medewerkers
  • Back-upretentie

De limieten voor Azure SQL Managed Instance en Azure SQL Database zijn alleen afhankelijk van uw keuze voor het aankoopmodel, de servicelaag en het aantal vCores of DTU in Azure SQL Database.

Azure SQL Managed Instance en SQL Database zijn PaaS-aanbiedingen (Platform as a Service). Als u deze keuzes beperkt, moet u uw vermogen om een beheerde SQL Server-service volledig te gebruiken niet remmen.

Binnen een Azure SQL Database-exemplaar voor algemeen gebruik is uw keuze voor ingerichte of serverloze rekenkracht ook van invloed op deze limieten. Voordat u implementeert, controleert u wat er is opgenomen in uw geplande implementatie om ervoor te zorgen dat u begint met wat u nodig hebt.

Azure SQL-resources hebben algemene resourcelimieten per abonnement en per regio. Als u uw limieten wilt verhogen, kunt u een quotumverhoging aanvragen in Azure Portal.

Implementatie

Nadat u de planning voor de implementatie hebt voltooid, is het tijd om uw plan in actie te zetten. In deze fase implementeert u Azure SQL met behulp van Azure Portal of de opdrachtregel, bepaalt u de netwerkconfiguratie en maakt u een eerste verbinding.

Voor Azure SQL Database en Azure SQL Managed Instance zijn er in feite zes deelvensters in Azure Portal om tijdens een implementatie in te vullen.

Diagram van de implementatiedeelvensters voor Azure SQL.

Server

Als u een beheerd Azure SQL-exemplaar maakt, is het opgeven van de servernaam hetzelfde als in SQL Server. Voor databases en elastische pools is een Azure SQL Database-server vereist. Een Azure SQL Database-server is een logische server die fungeert als een centraal beheerpunt voor een individuele of pooldatabase. Deze bevat aanmeldingen, firewallregels, controleregels, beleid voor detectie van dreigingen en failover-groepen. U leert later meer over deze elementen.

Deze logische server biedt geen toegang of functies op exemplaarniveau, net als met Azure SQL Managed Instance. Voor Azure SQL Database-servers moet de server naam uniek zijn in Azure.

Berekeningen en opslag

In de vorige module van dit leertraject hebt u geleerd over opties en aanbevelingen voor berekening en opslag, waaronder servicelagen, aankoopmodellen en hardwaregeneraties. U moet de gewenste configuratie selecteren tijdens de implementatie. U moet ook het aantal vCores en de maximale grootte van gegevens bepalen.

Als u migreert, gebruikt u over het algemeen een grootte die vergelijkbaar is met wat u on-premises gebruikt. U kunt ook hulpprogramma's zoals de SKU-aanbeveling voor Data Migration Assistant gebruiken om het aantal vCores en de maximale grootte van gegevens te schatten op basis van uw huidige workload.

De maximale grootte van gegevens is niet noodzakelijkerwijs de grootte van uw gegevens vandaag. Dit is de maximale hoeveelheid gegevensruimte die voor uw database kan worden toegewezen. Het helpt u ook inzicht te hebben in de toewijzing van logboekruimte, die wordt geschaald met de maximale grootte van gegevens.

Netwerkconfiguratie

Opties voor netwerken voor Azure SQL Database en Azure SQL Managed Instance verschillen. Wanneer u een Azure SQL Database implementeert, is de huidige standaardwaarde geen toegang.

U kunt een openbaar eindpunt of privé-eindpunt selecteren. In de oefening die volgt op deze les, gebruikt u het openbare eindpunt en stelt u de optie Azure-services en -resources toestaan in op Ja. Andere Azure-services hebben vervolgens toegang tot de database, bijvoorbeeld Azure Data Factory of Azure Virtual Machines. U kunt ook Huidig CLIENT-IP-adres toevoegen selecteren als u verbinding wilt kunnen maken vanaf het IP-adres van de clientcomputer dat u hebt gebruikt om Azure SQL Database te implementeren.

Met Azure SQL Managed Instance implementeert u in een virtueel Azure-netwerk en een subnet dat is toegewezen aan beheerde exemplaren, waarmee u een beveiligd, privé IP-adres hebt. Azure SQL Managed Instance kan een on-premises netwerk verbinden met een beheerd exemplaar, een beheerd exemplaar verbinden met een gekoppelde server of een ander on-premises gegevensarchief en een beheerd exemplaar verbinden met andere resources.

U kunt ook een openbaar eindpunt inschakelen, zodat u via internet verbinding kunt maken met een beheerd exemplaar zonder een virtueel particulier netwerk (VPN). Deze toegang is standaard uitgeschakeld.

Gegevensbron

In Azure SQL Database kunt u de AdventureWorksLT database selecteren als voorbeeld bij de implementatie in Azure Portal. In Azure SQL Managed Instance implementeert u eerst het exemplaar en vervolgens databases erin. U kunt de voorbeelddatabase niet bij de implementatie hebben, vergelijkbaar met SQL Server. U vindt meer informatie over de AdventureWorks voorbeelddatabases op GitHub.

U kunt ook een lege database implementeren of een database maken op basis van de herstelde versie van een geo-gerepliceerde back-up.

Databasesorteringen

Met sorteringen in SQL Server en Azure SQL wordt de database-engine verteld hoe bepaalde tekens en talen moeten worden behandeld. Een sortering biedt de sorteerregels, hoofdletters en accentgevoeligheidseigenschappen voor uw gegevens.

Wanneer u een nieuwe SQL-database of een met SQL beheerd exemplaar maakt, moet u rekening houden met de landinstellingen van de gegevens. De sorteringsset is van invloed op de kenmerken van veel bewerkingen in de database. In het SQL Server-boxproduct bepaalt de landinstelling van het besturingssysteem doorgaans de standaardsortering.

Stel in Azure SQL Managed Instance de serversortering in bij het maken van het exemplaar. U kunt deze later niet meer wijzigen. De serversortering stelt de standaardinstelling in voor alle databases in dat beheerde SQL-exemplaar, maar u kunt de sorteringen op database- en kolomniveau wijzigen.

In Azure SQL Database kunt u de serversortering niet instellen. Deze is ingesteld op de standaard- en meest voorkomende sortering van SQL_Latin1_General_CP1_CI_AS, maar u kunt de databasesortering instellen. Deze waarde opsplitsen in segmenten:

  • SQL betekent dat het een SQL Server-sortering is, in plaats van een Windows- of binaire sortering.
  • Latin1_General geeft het alfabet of de taal op die moet worden gebruikt bij het sorteren.
  • CP1 verwijst naar de codetabel die door de sortering wordt gebruikt.
  • CI betekent dat het niet hoofdlettergevoelig is. CS betekent hoofdlettergevoelig.
  • AS betekent dat het accentgevoelig is. AI betekent accentgevoelig.

Er zijn andere opties beschikbaar. Voorbeelden daarvan zijn tekenbreedten en UTF-8-codering. In de documentatie vindt u meer informatie over wat u wel en niet kunt doen met Azure SQL.

Aanmelden voor Microsoft Defender voor Cloud

Wanneer u Azure SQL Database implementeert in Azure Portal, wordt u gevraagd of u Microsoft Defender voor Cloud wilt inschakelen in een gratis proefversie. Selecteer Gratis proefversie starten. Na de gratis proefversie wordt Defender voor Cloud gefactureerd volgens de prijs van de Microsoft Defender voor Cloud Standard-laag.

Nadat u deze hebt ingeschakeld, krijgt u functionaliteit met betrekking tot het identificeren en beperken van potentiële beveiligingsproblemen in de database en detectie van bedreigingen. Meer informatie over deze mogelijkheden vindt u in de volgende beveiligingsmodule van dit leertraject.

In Azure SQL Managed Instance kunt u Microsoft Defender voor Cloud inschakelen op het exemplaar na de implementatie.

Beoordeling van selecties

Controleer in het deelvenster Controleren en maken uw implementatieselecties en de Azure Marketplace-voorwaarden.

Tip

U hebt ook de optie Een sjabloon downloaden voor automatisering , die een Azure Resource Manager-sjabloon (ARM-sjabloon) biedt voor configureerbare, herhaalbare implementaties. Deze les heeft geen betrekking op ARM-sjablonen. Als u geïnteresseerd bent, vindt u meer informatie over sjabloonspecificaties.

Implementatiegegevens van de implementatie van de sleutel

Hoewel Azure de implementatie voor u verzorgt, zijn er enkele implementatiedetails waarvan u rekening moet houden. Alle services zijn gebouwd op de Azure-backbone, ook wel Azure Service Fabric. Inzicht in de back-end van hoe sommige van deze services worden geïmplementeerd en geschaald in Azure Service Fabric helpt u inzicht te krijgen in verschillende gedragingen die u mogelijk ziet.

Azure SQL Managed Instance

Achter de schermen implementeert Azure een toegewezen ring voor Azure SQL Managed Instance (ook wel een virtueel cluster genoemd) voor uw service. Deze architectuur biedt ondersteuning voor beveiliging en systeemeigen virtuele netwerken.

Vanwege deze architectuur kunnen implementatie- en schaalbewerkingen langer duren. Wanneer u bijvoorbeeld omhoog of omlaag schaalt, implementeert Azure een nieuw virtueel cluster voor u en worden vervolgens uw gegevens geïmplementeerd. Zie elk exemplaar alsof het wordt uitgevoerd op één virtuele machine.

Azure SQL-exemplaargroepen zijn geïntroduceerd om te helpen bij de lange implementatietijd. U kunt een pool met toegewezen resources vooraf implementeren. Het implementeren van een groep en schalen binnen een groep werkt sneller dan traditionele implementaties. U krijgt ook een hogere verpakkingsdichtheid, omdat u meerdere exemplaren binnen één virtuele machine kunt implementeren.

Azure SQL-database

Azure SQL Database is deel van een logische databaseserver. In de meeste gevallen host een toegewezen SQL Server-exemplaar de SQL-database, maar u hoeft zich geen zorgen te maken over het beheren van het exemplaar.

De logische databaseserver geeft u iets waarmee u verbinding kunt maken. Hiermee kunt u ook bepaalde machtigingen en configuraties groeperen en beheren. Binnen elke logische databaseserver is een logische primaire database, die diagnostische gegevens op exemplaarniveau kan bieden.

Azure SQL Database - Hyperscale

De Hyperscale-laag in Azure SQL Database, die niet beschikbaar is in Azure SQL Managed Instance, heeft een unieke architectuur voor Azure SQL. Het Azure SQL-team heeft Hyperscale opnieuw gearchitecteerd voor de cloud. Deze architectuur bevat een multilaags cachesysteem dat kan helpen bij zowel snelheid als schaal. Schalen en andere bewerkingen worden niet langer gerelateerd aan de grootte van gegevens en kunnen in constante tijd worden voltooid, een kwestie van minuten. Door externe opslag te gebruiken, kunt u ook back-ups maken van momentopnamen.

In een volgende module van het leertraject basisinformatie over Azure SQL leert u meer over de architectuur en hoe dit van invloed is op prestaties en beschikbaarheid. Een overweging tijdens de implementatiefase is dat u na het verplaatsen van een database naar de Hyperscale-laag niet kunt terugkeren naar de laag Algemeen gebruik of Bedrijfskritiek.

Resourcebeheer

Wanneer u de resources in een servicelaag verhoogt of verlaagt, kunnen de limieten voor dimensies, zoals CPU, opslag en geheugen, tot een bepaalde drempelwaarde worden gewijzigd. Hoewel er sprake is van een benadering met meerdere facetten voor beheer in Azure SQL, worden voornamelijk de volgende drie technologieën gebruikt voor het beheren van uw gebruik van resources in Azure SQL:

  • Met Windows-taakobjecten kan een groep processen worden beheerd en beheerd als een eenheid. Taakobjecten worden gebruikt voor het beheren van het doorvoeren van het virtuele geheugen van het bestand, de werksetlimieten, de CPU-affiniteit en de snelheidslimieten. U kunt de dynamische beheerweergave in sys.dm_os_job_object gebruiken om de limieten te bekijken.
  • Resource Governor is een SQL Server-functie die gebruikers helpt en in dit geval Azure resources zoals CPU, fysieke I/O en geheugen regelt. Azure SQL Managed Instance ondersteunt ook door de gebruiker gedefinieerde workloadgroepen en -pools van Resource Governor.
  • Bestandsserverbronbeheer is beschikbaar in Windows Server. Het bepaalt bestandsmapquota, die worden gebruikt voor het beheren van de maximale grootte van gegevens.

Andere implementaties voor het beheren van transactielogboeksnelheid zijn ingebouwd in de database-engine via governance voor transactielogboeksnelheid. Dit proces beperkt de hoge opnamesnelheid voor werkbelastingen, zoals BULK INSERT, SELECT INTO en indexsamenstellingen. Ze worden bijgehouden en afgedwongen als het lagere niveau. Ze worden momenteel lineair geschaald binnen een servicelaag.

Verificatie

Nadat u de implementatie hebt voltooid, is het tijd om die implementatie te controleren. In deze fase controleert u doorgaans de resultaten in Azure Portal of de Azure CLI, voert u enkele query's uit die uw implementatieconfiguratie controleren en zo nodig aanpassen.

Het eerste wat u kunt doen in Azure SQL Managed Instance en Azure SQL Database is de status van de database of het exemplaar controleren met Azure Portal of de Azure CLI. Vervolgens kunt u de implementatiedetails en het activiteitenlogboek bekijken om ervoor te zorgen dat er geen fouten of actieve problemen zijn.

Voor Azure SQL Managed Instance kunt u vervolgens het foutenlogboek controleren. Dit is gebruikelijk in SQL Server on-premises of in een virtuele Azure-machine. Deze mogelijkheid is niet beschikbaar in Azure SQL Database.

Ten slotte moet u waarschijnlijk bevestigen dat uw netwerk correct is geconfigureerd, de servernaam ophalen en verbinding maken met een hulpprogramma zoals SQL Server Management Studio of Azure Data Studio. U kunt de volgende query's uitvoeren om beter inzicht te krijgen in wat u hebt geïmplementeerd en om te controleren of het correct is geïmplementeerd:

SELECT @@VERSION
SELECT * FROM sys.databases
SELECT * FROM sys.objects
SELECT * FROM sys.dm_os_schedulers
SELECT * FROM sys.dm_os_sys_info
SELECT * FROM sys.dm_os_process_memory --Not supported in Azure SQL Database
SELECT * FROM sys.dm_exec_requests
SELECT SERVERPROPERTY('EngineEdition')
SELECT * FROM sys.dm_user_db_resource_governance -- Available only in Azure SQL Database and SQL Managed Instance
SELECT * FROM sys.dm_instance_resource_governance -- Available only in Azure SQL Managed Instance
SELECT * FROM sys.dm_os_job_object -- Available only in Azure SQL Database and SQL Managed Instance

Eén query met betrekking tot het geheugen van het besturingssysteemproces wordt niet ondersteund in Azure SQL Database, ook al lijkt het misschien te werken. Deze query wordt niet ondersteund omdat met Azure SQL Database enkele zaken met betrekking tot het besturingssysteem van u worden geabstraheerd, zodat u zich kunt richten op de database.

De laatste drie query's zijn alleen beschikbaar in Azure SQL Database en Azure SQL Managed Instance. De eerste, sys.dm_user_db_resource_governanceretourneert de configuratie- en capaciteitsinstellingen die worden gebruikt door mechanismen voor resourcebeheer in de huidige database of elastische pool. U kunt vergelijkbare informatie krijgen voor een met Azure SQL beheerd exemplaar met de tweede, sys.dm_instance_resource_governance. De derde, sys.dm_os_job_objectretourneert één rij die de configuratie beschrijft van het taakobject waarmee het SQL Server-proces en de statistieken over resourceverbruik worden beheerd.

De volgende twee oefeningen doorlopen alle details die betrekking hebben op het implementeren van Azure SQL Database of Azure SQL Managed Instance. Gebruik uw Azure-abonnement om Azure SQL Database te implementeren. Na de implementatie gebruikt u verschillende verificatiequery's en voert u SQL-notebooks vooraf uit in Azure Data Studio om SQL Database, SQL Managed Instance en SQL Server 2019 te vergelijken.

Kenniscontrole

1.

Welke van de volgende opties hebben limieten, afhankelijk van uw implementatieoptie en servicelaag?

2.

Voor het verifiëren van implementaties zijn er enkele nieuwe query's die specifiek zijn bedoeld voor Azure SQL Database en Azure SQL Managed Instance. Welke van de volgende query's zijn alleen beschikbaar voor Azure SQL Platform as a Service (PaaS)?