Replicatie naar Azure SQL Database
Van toepassing op: Azure SQL Database
U kunt een Azure SQL Database configureren als push-abonnee in een topologie voor transactionele of momentopnamereplicatie in één richting.
Notitie
In dit artikel wordt het gebruik van transactionele replicatie in Azure SQL Database beschreven. 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 kan alleen de push-abonnee van een SQL Server uitgever en distributeur zijn.
- Het SQL Server exemplaar dat functioneert als uitgever en/of distributeur, kan een exemplaar zijn van SQL Server die on-premises wordt uitgevoerd, een Azure SQL Managed Instance of een exemplaar van SQL Server op een virtuele Azure-machine in de cloud.
- De distributiedatabase en de replicatieagents kunnen niet worden geplaatst in een database in Azure SQL Database.
- Momentopname en transactionele replicatie in één richting worden ondersteund. Peer-to-peer transactionele replicatie en samenvoegreplicatie 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:
Publiceren naar Azure SQL Database vanuit een SQL Server-database wordt ondersteund door deze 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)
Notitie
Het configureren van replicatie met behulp van een niet-ondersteunde versie kan leiden tot foutnummer MSSQL_REPL20084 (Het proces kan geen verbinding maken met Abonnee.) en MSSQL_REPL40532 (Kan de servernaam <> die is aangevraagd door de aanmelding niet openen. De aanmelding is mislukt.).
Als u alle functies van Azure SQL Database wilt gebruiken, moet u de nieuwste versies van SQL Server Management Studio en SQL Server Data Tools gebruiken.
Typen replicatie
Er zijn verschillende typen replicatie:
Replicatie | Azure SQL Database | Azure SQL Managed Instance |
---|---|---|
Standard Transactional (Standaard transactioneel) | Ja (alleen als abonnee) | Ja |
Momentopname | Ja (alleen als abonnee) | Ja |
Replicatie samenvoegen | Nee | Nee |
Peer-to-peer | Nee | Nee |
Bidirectional (Bidirectioneel) | Nee | Ja |
Bijwerkbare abonnementen | Nee | Nr. |
Opmerkingen
- Alleen pushabonnementen naar Azure SQL Database worden ondersteund.
- Replicatie kan worden geconfigureerd met behulp van SQL Server Management Studio of door Transact-SQL-instructies uit te voeren op de uitgever. U kunt replicatie niet configureren met behulp van Azure Portal.
- 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 in sp_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 Transact-SQL-instructies om een push-naar-abonnement naar 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
Deze volgende opties worden niet ondersteund voor Azure SQL Database abonnementen:
- Koppeling van bestandsgroepen kopiëren
- Schema's voor tabelpartitionering kopiëren
- Schema's voor indexpartitionering 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 voor 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
- Sortering 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
- Maak een pushabonnement met behulp van de servernaam als abonnee (bijvoorbeeld N'azuresqldbdns.database.windows.net') en de azure SQL Database-naam als de doeldatabase (bijvoorbeeld AdventureWorks).