Gegevens verplaatsen naar SQL Managed Instance

Voltooid

Veel migraties hebben betrekking op een periode waarin de on-premises en de clouddatabase moeten worden gesynchroniseerd. Het kan bijvoorbeeld gebeuren dat clients wijzigingen aanbrengen in beide databases.

U hebt de database met sportproducten gemigreerd naar Azure SQL Managed Instance. De website maakt al gebruik van de clouddatabase. U begint clients opnieuw te configureren voor het gebruik van de nieuwe database. U hebt besloten om gebruikers over te schakelen naar het nieuwe systeem in batches. Voor elk team neemt u de tijd om eventuele problemen op te lossen voordat u de volgende gebruikers migreert. Met deze methode kunt u problemen oplossen en oplossen zonder dat alle gebruikers tegelijk worden onderbroken. Vervolgens configureert u het systeem voor gegevensanalyse opnieuw om de nieuwe database in Azure te gebruiken. Gedurende deze tijd wilt u ervoor zorgen dat de cloud- en on-premises databases elk uur worden gesynchroniseerd.

U verkent verschillende methoden voor het implementeren van gegevenssynchronisatie. Deze methoden kunnen ook worden gebruikt om selectief gegevens te migreren, als u alleen een subset van de tabellen wilt overdragen. Dankzij deze flexibiliteit is een meer op maat gemaakte benadering van gegevensmigratie mogelijk.

Verbinding maken iviteitsopties met on-premises servers

Vaak wilt u gegevens in on-premises databases gesynchroniseerd houden met Azure SQL Managed Instance. Mogelijk wilt u de migratie van clienttoepassingen naar de nieuwe database faseren, wat betekent dat er een periode is waarop clients verbinding maken met beide databases.

Voordat u een methode voor gegevenssynchronisatie kiest, is het belangrijk om ervoor te zorgen dat u verbinding hebt die veilig is. Er zijn drie verschillende connectiviteitsopties beschikbaar om communicatie tot stand te brengen tussen on-premises computers en resources in Azure.

  • Punt-naar-site. Met een point-to-site-VPN-gatewayverbinding (P2S) kunt u vanaf een afzonderlijke clientcomputer een beveiligde verbinding maken met uw virtuele netwerk.
  • Site-naar-site. Een site-naar-site-VPN-gateway wordt gebruikt om een volledige on-premises site te verbinden met het Azure-netwerk.
  • ExpressRoute. Met Azure ExpressRoute kunt u privéverbindingen maken tussen Azure-datacenters en on-premises infrastructuur of infrastructuur in een co-locatieomgeving. ExpressRoute-verbindingen gaan niet via het openbare internet en bieden meer betrouwbaarheid, snellere snelheden, lagere latenties en hogere beveiliging dan gewone internetverbinding.

Openbaar eindpunt

Met een openbaar eindpunt voor SQL Managed Instance kunt u verbinding maken met de database vanaf internet zonder een VPN te gebruiken en is alleen ontworpen voor gegevenscommunicatie. Openbaar eindpunt voor gegevens kan gelijktijdig worden gebruikt met het privé-eindpunt. Om veiligheidsredenen maakt de implementatie scheiding van taken (SoD) mogelijk tussen een databasebeheerder en een netwerkbeheerder bij het inschakelen van het openbare eindpunt.

Als u een openbaar eindpunt voor een beheerd exemplaar wilt inschakelen, zijn er twee stappen vereist. Voor SoD hebt u twee afzonderlijke rollen nodig, met de volgende database- en netwerkmachtigingen, om deze stappen uit te voeren:

  1. Een databasebeheerder die machtigingen voor op rollen gebaseerd toegangsbeheer heeft in het bereik Microsoft.Sql/managedInstances/* moet een PowerShell-script uitvoeren om een openbaar eindpunt voor het beheerde exemplaar in te schakelen.
  2. Een netwerkbeheerder met op rollen gebaseerde toegangsbeheermachtigingen in het bereik Microsoft.Network/* moet de poort 3342 openen die wordt gebruikt door het openbare eindpunt op de netwerkbeveiligingsgroep (NSG) en een UDR-route opgeven om asymmetrische routering te voorkomen.

Diagram showing how public endpoint works for Azure SQL Managed Instance.

Een synchronisatiemethode kiezen

U kunt veel methoden gebruiken om gegevens van een beheerd SQL Database-exemplaar te synchroniseren met een on-premises server en terug.

Systeemeigen back-up en herstel

U kunt een database in Azure SQL Managed Instance herstellen vanuit een Azure Blob Storage-bestand met behulp van Shared Access Signature (SAS).

Dit omvat het maken van een referentie met toegang tot Azure Blob Storage en vervolgens met behulp van de BACKUP DATABASE opdracht met de COPY_ONLY optie. Als uw database groter is dan 200 GB, kunt u een gestreepte back-up gebruiken door verschillende URL-locaties op te geven.

BACKUP DATABASE YourDatabase TO URL = 'https://youraccount.blob.core.windows.net/yourcontainer/yourdatabase.bak' WITH COPY_ONLY

De database herstellen in SQL Managed Instance:

RESTORE DATABASE YourDatabase FROM URL = 'https://youraccount.blob.core.windows.net/yourcontainer/yourdatabase.bak'

BACPAC-bestand met SqlPackage

Een BACPAC-bestand is in feite een gezipte versie van zowel de metagegevens als de gegevens van uw database. Hoewel deze implementatiemethode compatibel is met SQL Database, biedt SQL Managed Instance geen ondersteuning voor migratie via BACPAC in Azure Portal. Als alternatief moet het HULPPROGRAMMA SQLPackage worden gebruikt met het BACPAC-bestand.

Programma voor bulksgewijs kopiëren (BCP)

Het hulpprogramma BCP is een opdrachtregelprogramma waarmee tabellen naar bestanden worden geëxporteerd, zodat u ze kunt importeren. Gebruik deze methode om te migreren van één SQL Database naar SQL Managed Instance en terug.

Azure Data Factory (ADF)

Azure Data Factory is gebouwd voor gegevensverplaatsing en indeling, met de focus op opname. ADF heeft de integration runtime-ondersteuning voor het uitvoeren van SSIS-pakketten en de openbare internetondersteuning voor SQL Managed Instance.

Transactionele replicatie

Transactionele replicatie is een manier om gegevens te verplaatsen tussen continu verbonden databaseservers.

Het proces begint met een momentopname van de publicatiedatabaseobjecten en -gegevens. Zodra de eerste momentopname is gemaakt, worden eventuele volgende wijzigingen in de gegevens of het schema in Publisher doorgaans in bijna realtime bezorgd bij Azure SQL Managed Instance.

SQL Managed Instance is flexibel omdat het een uitgever, distributeur en abonnee kan zijn.

Replicatie is een van de weinige technologieën waarmee u onderdelen van een tabel kunt repliceren. We verwijzen naar deze tabelonderdelen als artikelen. Deze gegevens worden vervolgens verzonden naar een distributeur, een leverancier van de gegevens aan een willekeurig aantal abonnees.

Vereisten

  • Connectiviteit maakt gebruik van SQL-verificatie tussen replicatiedeelnemers.
  • Een Azure Storage-accountshare voor de werkmap die wordt gebruikt door replicatie.
  • Open poort 445 (TCP uitgaand) in de beveiligingsregels van het subnet van het beheerde exemplaar voor toegang tot de Azure-bestandsshare.
  • Open poort 1433 (TCP uitgaand) als de uitgever of distributeur zich op een beheerd exemplaar bevindt en de abonnee zich on-premises bevindt.

toepassingen Verbinding maken naar een met SQL beheerd exemplaar

Een met SQL beheerd exemplaar moet worden geplaatst in een subnet van een virtueel Azure-netwerk dat is toegewezen aan beheerde exemplaren. Deze implementatie biedt u een beveiligd privé-IP-adres en de mogelijkheid om verbinding te maken met on-premises netwerken.

Diagram showing how connectivity takes place in Azure SQL Managed Instance.

Gebruikers en clienttoepassingen kunnen verbinding maken met de database van het beheerde exemplaar via Azure Portal, PowerShell, Azure CLI en de REST API.

Alle communicatie wordt versleuteld en ondertekend met behulp van certificaten. Om de betrouwbaarheid van de communicerende partijen te controleren, verifiëren beheerde exemplaren deze certificaten voortdurend met lijsten met ingetrokken certificaten. Als de certificaten worden ingetrokken, sluit het beheerde SQL-exemplaar de verbindingen om de gegevens te beveiligen.