Replicatie naar Azure SQL Database
van toepassing op:Azure SQL Database
SQL-database in Fabric
U kunt Azure SQL Database of Fabric SQL-database configureren als pushabonnee in een transactionele of momentopnamereplicatietopologie van SQL Server en Azure SQL Managed Instance.
Notitie
In dit artikel wordt het gebruik van transactionele replicatie om gegevens naar Azure SQL Database of Fabric SQL Database te pushen beschreven. Dit artikel is evenzeer van toepassing op Azure SQL Database en Fabric SQL-database, tenzij anders vermeld.
Het is niet gerelateerd aan actieve geo-replicatie, een Azure SQL Database-functie waarmee u volledige leesbare replica's van afzonderlijke databases kunt maken.
Ondersteunde configuraties
- Azure SQL Database of Fabric SQL Database kan alleen de pushabonnee van een SQL Server-uitgever en -distributeur zijn.
- Het SQL Server-exemplaar dat fungeert als uitgever en/of distributeur kan een instantie zijn van SQL Server die on-premisesdraait, een Azure SQL Managed Instance, of een exemplaar van SQL Server dat wordt uitgevoerd op een virtuele machine van Azure in de cloud.
- De distributiedatabase en de replicatieagents kunnen niet in een database in Azure SQL Database worden geplaatst.
- Momentopname en éénrichtings transactionele replicatie worden ondersteund. Replicatie peer-to-peer voor transacties en replicatie voor samenvoegingen worden niet ondersteund.
Versies
Als u wilt repliceren naar een database in Azure SQL Database, moeten UITGEVERS en distributeurs van SQL Server ten minste een van de volgende versies gebruiken:
Notitie
Een poging om replicatie te configureren met een niet-ondersteunde versie kan leiden tot foutnummer MSSQL_REPL20084 (Het proces kan geen verbinding maken met Abonnee.) en MSSQL_REPL40532 (Kan de server niet openen <naam> aangevraagd door de aanmelding. De aanmelding is mislukt.).
Als u alle functies van Azure SQL Database wilt gebruiken, moet u de nieuwste versies van SQL Server Management Studio (SSMS) en SQL Server Data Tools.
Publiceren naar een Azure SQL Database vanuit een SQL Server-database wordt ondersteund door de volgende versies van SQL Server:
- SQL Server 2016 en hoger
- SQL Server 2014 RTM CU10 (12.0.4427.24) of SP1 CU3 (12.0.2556.4)
- SQL Server 2012 SP2 CU8 (11.0.5634.1) of SP3 (11.0.6020.0)
Publiceren naar Fabric SQL-database vanuit een SQL Server-database wordt ondersteund door de volgende versies van SQL Server:
- SQL Server 2022 RTM CU12 en hoger
Typen replicatie
Er zijn verschillende soorten van replicatie:
Replicatie | Azure SQL Database | Azure SQL Managed Instance |
---|---|---|
Standaard transactie | Ja (alleen als abonnee) | Ja |
momentopname | Ja (alleen als abonnee) | Ja |
replicatie samenvoegen | Nee | Nee |
peer-to-peer | Nee | Nee |
bidirectionele | Nee | Ja |
abonnementen die kunnen worden bijgewerkt | Nee | Nee |
Opmerkingen
- Alleen pushabonnementen naar Azure SQL Database worden ondersteund.
- Replicatie kan worden geconfigureerd met behulp van SQL Server Management Studio of door het uitvoeren van Transact-SQL instructies op de uitgever. U kunt replicatie niet configureren met behulp van Azure Portal.
- Ga als volgende te werk om te verifiëren:
- Azure-Arc ingeschakelde SQL-servers staan toe dat replicatie gebruikmaakt van Microsoft Entra ID-verificatie.
- Replicatie kan gebruikmaken van Microsoft Entra ID-verificatie met een serviceprincipeel om verbinding te maken met de Fabric SQL-database.
- Replicatie kan alleen aanmeldingen voor SQL Server-verificatie gebruiken om verbinding te maken met Azure SQL Database.
- Gerepliceerde tabellen moeten een primaire sleutel hebben.
- U moet een bestaand Azure-abonnement hebben.
- De Azure SQL Database-abonnee kan zich in elke regio bevinden.
- Eén publicatie in SQL Server kan zowel Azure SQL Database- als SQL Server-abonnees (on-premises en SQL Server op een virtuele Azure-machine) ondersteunen.
- Replicatiebeheer, bewaking en probleemoplossing moeten worden uitgevoerd vanuit SQL Server in plaats van Azure SQL Database.
- Alleen
@subscriber_type = 0
wordt ondersteund insp_addsubscription
voor SQL Database. - Azure SQL Database biedt geen ondersteuning voor bidirectionele, onmiddellijke, updatable of peer-to-peer-replicatie.
Replicatiearchitectuur
Scenario's
Typisch replicatiescenario
- Maak een transactionele replicatiepublicatie in een SQL Server-database.
- Gebruik in SQL Server de wizard Nieuw abonnement of de Transact-SQL instructies om een pushabonnement voor Azure SQL Database te maken.
- Met individuele en pooldatabases in Azure SQL Database is de eerste gegevensset een momentopname die wordt gemaakt door de momentopnameagent en wordt gedistribueerd en toegepast door de distributieagent. Met een uitgever van SQL Managed Instance kunt u ook een databaseback-up gebruiken om de Azure SQL Database-abonnee te seeden.
Scenario voor gegevensmigratie
- Gebruik transactionele replicatie om gegevens van een SQL Server-database te repliceren naar Azure SQL Database.
- De client- of middelste laagtoepassingen omleiden om de databasekopie bij te werken.
- Stop met het bijwerken van de SQL Server-versie van de tabel en verwijder de publicatie.
Beperkingen
De volgende replicatieopties worden niet ondersteund door Azure SQL Database:
- Koppeling van bestandsgroepen kopiëren
- Partitioneringsschema's voor tabellen kopiëren
- Indexpartitioneringsschema's kopiëren
- Door de gebruiker gedefinieerde statistieken kopiëren
- Standaardbindingen kopiëren
- Regelbindingen kopiëren
- Volledige-tekstindexen kopiëren
- XML XSD kopiëren
- XML-indexen kopiëren
- Machtigingen kopiëren
- Ruimtelijke indexen kopiëren
- Gefilterde indexen kopiëren
- Kenmerk gegevenscompressie kopiëren
- Sparse-kolomkenmerk kopiëren
- Filestream converteren naar MAX-gegevenstypen
- Hierarchyid converteren naar MAX-gegevenstypen
- Ruimtelijke gegevenstypen converteren naar MAX
- Uitgebreide eigenschappen kopiëren
Te bepalen beperkingen
- Collatie kopiëren
- Uitvoering in een geserialiseerde transactie van de SP
Voorbeelden
Maak een publicatie en een push-abonnement. Zie voor meer informatie:
- een publicatie maken
- Een pushabonnement maken met behulp van de servernaam als abonnee (bijvoorbeeld N'azuresqldbdns.database.windows.net') en de naam van de Azure SQL Database als doeldatabase (bijvoorbeeld AdventureWorks).