Je wil graag je on-premises SQL Server migreren naar Azure, maar je weet niet waar je moet beginnen?Laten we eerst kijken naar de verschillende mogelijkheden.
Azure SQL DB
Met een Azure SQL DB krijg je de laatste stabiele versie van SQL Server in de vorm van een hosted service, de redundancy set up is inbegrepen. Het onderliggende OS en hardware, alsook het toepassen van SQL patches worden uitgevoerd door de Azure ingenieurs, backups en integriteitschecks zijn ook volledig geautomatiseerd. Met een druk op de knop kan je de resources voor jouw database of database pool aanpassen. Indien je een zeer afwisselende nood hebt aan resources dan kan serverless compute voor jou de beste oplossing zijn.
Echter zijn niet alle SQL Server functionaliteiten beschikbaar op dit platform.
- Cross database queries: je hebt geen toegang tot data in een een andere database op dezelfde server connecteren met een three-part name notatie. Met behulp van external tables kan je dit wel. Heb je nood aan het uitvoeren van dezelfde query op een verzameling databases (sharding) dan is elastic query de feature die je nodig hebt.
- Linked servers: Een Azure SQL DB kan wel als einddoel gebruikt worden in een linked server, maar kan er zelf geen bevatten.
- SQL agent is niet beschikbaar: elastic jobs of een runbook in Azure Automation account of Logic App kunnen een goed alternatief bieden.
- Backup/Restore van/naar een bak file: Het nemen van manuele backups en restores adhv bak files wordt niet ondersteund. Je kan wel je data importeren en exporteren met bacpac files naar een Azure Storage Blob container.
- Filesteam en Filetable: worden niet ondersteund.
- CLR assemblies: worden niet ondersteund.
- Machine Learning Services: wordt niet ondersteund.
- Polybase: wordt gedeeltelijk ondersteund, external tables naar Azure blob storage zijn niet mogelijk.
- Log Shipping: wordt niet ondersteund, maar de Active Geo-replication of Auto-failover groups functionaliteiten kunnen gebruikt worden om een gesynchroniseerde replica naar een andere Azure SQL DB instance op te zetten.
SQL Managed Instance
Met een SQL Managed Instance krijg je dezelfde ingebouwde automatisatie mogelijkheden als met een Azure SQL DB, maar je krijgt er nog instance specifieke mogelijkheden erboven op zoals the Sql Agent en cross database queries.
Door de onderliggende infrastructuur van een SQL Managed Instance neemt het 4 tot 6 uur in beslag om deze te creëren, en kan het tot 2 uur duren vooralleer een verandering in resources te voltooien.
Vergeleken met een Azure SQL DB, kan je met een SQL Managed Instance:
- Cross database queries uitvoeren en linked servers maken
- Jobs configureren met de SQL Agent
- Backups nemen naar bak files in een Azure Storage Blob container (copy-only modus)
- Machine Learning Services gebruiken
- Polybase gebruiken om ook data in een Azure Storage Blob container in te lezen
- Log shipping opzetten met een SQL Managed Instance as doel met de Log Replay Service
De volgende features blijven onbeschikbaar:
- Filestream and Filetable
- CLR assemblies: worden slechts gedeeltelijk ondersteund, je kan niet refereren naar een assembly in een file system.
- Active Geo-replication is niet beschikbaar, gebruik Auto-failover groups hiervoor
IAAS: SQL server op een Azure VM
Dit platform lijkt het meest op een on-premises set-up: je hebt een Azure Virtual Machine waarop je een versie naar keus van SQL Server op installeert. Alle features zijn hierdoor beschikbaar. Daarnaast kan je ook genieten van de voordelen van een PAAS platform met de IAAS Agent Extension. Deze service laat je toe om de security van SQL Server, de backups, licentiering op een centrale manier te beheren. Je kan hiermee ook de toestand van je server en disks op een uniforme manier opvolgen.
Voor een volledig overzicht over alle features beschikbaar in Azure SQL DB en SQL Managed Instance kan je ook naar officiele documentatie raadplegen Compare the database engine features of SQL Database and SQL Managed Instance | Microsoft Docs