Overzicht van de koppeling beheerd exemplaar

Van toepassing op: Azure SQL Managed Instance

Dit artikel bevat een overzicht van de functie Managed Instance-koppeling, waarmee bijna realtime gegevensreplicatie tussen SQL Server en Azure SQL Managed Instance mogelijk is. De koppeling biedt hybride flexibiliteit en databasemobiliteit, omdat deze verschillende scenario's ontgrendelt, zoals het schalen van alleen-lezen workloads, offloading van analyses en rapportage naar Azure, en migreren naar Azure. En met SQL Server 2022 maakt de koppeling online herstel na noodgevallen mogelijk met failback naar SQL Server (momenteel in preview) en configureert u de koppeling van SQL Managed Instance naar SQL Server 2022 (ook in preview).

Als u suggesties of opmerkingen voor productverbetering hebt of als u problemen wilt melden, neemt u contact op met de productgroep via feedback van gebruikerskoppelingen via Managed Instance.

Overzicht

De koppeling beheerd exemplaar maakt gebruik van gedistribueerde beschikbaarheidsgroepen om uw gegevens op een veilige en veilige manier uit te breiden, gegevens in bijna realtime te repliceren van SQL Server die overal naar Azure SQL Managed Instance worden gehost, of van Azure SQL Managed Instance naar SQL Server 2022 die overal worden gehost.

De koppeling ondersteunt sql Server-exemplaren met één knooppunt en meerdere knooppunten met of zonder bestaande beschikbaarheidsgroepen. Via de koppeling kunt u voordelen van Azure gebruiken zonder uw SQL Server-gegevensdomein naar de cloud te migreren.

Hoewel de koppeling replicatie van één database per koppeling ondersteunt, is het mogelijk om meerdere databases van één exemplaar van SQL Server te repliceren naar een of meer met SQL beheerde exemplaren, of dezelfde database te repliceren naar meerdere met SQL beheerde exemplaren door meerdere koppelingen te configureren: één koppeling voor elke database naar een beheerd exemplaarpaar.

De koppelingsfunctie biedt momenteel de volgende functionaliteit:

  • Eenrichtingsreplicatie van SQL Server-versies 2016 en 2019: Gebruik de koppelingsfunctie om gegevens op één manier van sql-exemplaar te repliceren naar Azure SQL Managed Instance. Hoewel u handmatig een failover naar uw beheerde exemplaar kunt uitvoeren als er een noodgeval is, wordt de koppeling verbroken en wordt failback niet ondersteund.
  • Herstel na noodgevallen (SQL Server 2022): gebruik de koppelingsfunctie om gegevens te repliceren tussen SQL Server 2022 en SQL Managed Instance, handmatig een failover naar uw secundaire exemplaar tijdens een noodgeval en een failback naar uw primaire server nadat u het noodgeval hebt verzacht. SQL Server of SQL Managed Instance kan de eerste primaire instantie zijn. Deze functie is momenteel beschikbaar in preview.

U kunt de koppeling blijven uitvoeren zolang u deze nodig hebt, voor maanden en zelfs jaren tegelijk. En voor uw moderniseringstraject, als of wanneer u klaar bent om te migreren naar Azure, maakt de koppeling een aanzienlijk verbeterde migratie-ervaring mogelijk. Migratie via de koppeling biedt minimale downtime in vergelijking met alle andere beschikbare migratieopties, waardoor een echte onlinemigratie naar uw sql Managed Instance wordt geboden.

Databases die worden gerepliceerd via de koppeling tussen SQL Server en Azure SQL Managed Instance, kunnen worden gebruikt voor verschillende scenario's, zoals:

  • Herstel na noodgeval
  • Azure-services gebruiken zonder te migreren naar de cloud
  • Alleen-lezen workloads offloaden naar Azure
  • Migreren naar Azure
  • On-premises gegevens kopiëren

Diagram that illustrates the main Managed Instance link scenario.

Ondersteuning voor versies

De koppeling beheerd exemplaar wordt ondersteund op zowel de servicelaag Algemeen als Bedrijfskritiek van Azure SQL Managed Instance. De koppelingsfunctie werkt met de Enterprise-, Developer- en Standard-edities van SQL Server.

De volgende tabel bevat de functionaliteit van de koppelingsfunctie en de minimaal ondersteunde SQL Server-versies:

Eerste primaire versie Besturingssysteem Eenrichtingsreplicatie Opties voor herstel na noodgevallen Vereiste voor onderhoudsupdates
Azure SQL Managed Instance Windows Server en Linux Preview Bidirectionele preview SQL Server 2022 CU10 (KB5031778)1
SQL Server 2022 (16.x) Windows Server en Linux Algemeen beschikbaar Bidirectioneel:
Offline (algemeen beschikbaar)
Online (preview)
SQL Server 2022 RTM
SQL Server 2019 (15.x) Alleen Windows Server Algemeen beschikbaar Alleen van SQL Server naar SQL MI SQL Server 2019 CU20 (KB5024276)
SQL Server 2017 (14.x) N.v.t. N.v.t. N.v.t. N.v.t.
SQL Server 2016 (13.x) Alleen Windows Server Algemeen beschikbaar Alleen van SQL Server naar SQL MI SQL Server 2016 SP3 (KB 5003279) en SQL Server 2016 Azure Verbinding maken pack (KB 5014242)

1 Tijdens het maken van een koppeling met SQL Server 2022 als de eerste primaire wordt ondersteund vanaf de RTM-versie van SQL Server 2022, wordt het maken van een koppeling met Azure SQL Managed Instance ondersteund vanaf SQL Server 2022 CU10. Als u de koppeling maakt van een eerste primaire SQL Managed Instance, wordt het downgraden van SQL Server onder CU10 niet ondersteund terwijl de koppeling actief is, omdat deze problemen kan veroorzaken na een failover in beide richtingen.

SQL Server-versies vóór SQL Server 2016 (SQL Server 2008 - 2014) worden niet ondersteund omdat de koppelingsfunctie afhankelijk is van gedistribueerde beschikbaarheidsgroeptechnologie, die is geïntroduceerd in SQL Server 2016.

Naast de ondersteunde SQL Server-versie hebt u het volgende nodig:

  • Netwerkverbinding tussen uw SQL Server-exemplaar en uw beheerde exemplaar. Als SQL Server on-premises wordt uitgevoerd, gebruikt u een VPN-koppeling of Azure ExpressRoute. Als SQL Server wordt uitgevoerd op een virtuele Azure-machine (VM), implementeert u uw VM in hetzelfde virtuele netwerk als uw beheerde exemplaar of gebruikt u peering van virtuele netwerken om de twee afzonderlijke subnetten te verbinden.
  • Een azure SQL Managed Instance-implementatie, ingericht voor elke servicelaag.

U hebt ook de volgende hulpprogramma's nodig:

Hulpprogramma Opmerkingen
SSMS 19.2 of hoger SQL Server Management Studio (SSMS) is de eenvoudigste manier om de koppeling beheerd exemplaar te gebruiken, omdat deze wizards biedt waarmee het instellen van koppelingen wordt geautomatiseerd.
Az.SQL 3.9.0 of hoger Een PowerShell-module is vereist voor handmatige configuratiestappen.

Notitie

De functie Managed Instance-koppeling is beschikbaar in alle openbare Azure-regio's en nationale of overheidsclouds.

De onderliggende technologie achter de koppelingsfunctie voor SQL Managed Instance is gebaseerd op het maken van een gedistribueerde beschikbaarheidsgroep tussen SQL Server en Azure SQL Managed Instance. De oplossing ondersteunt systemen met één knooppunt met of zonder bestaande beschikbaarheidsgroepen of meerdere knooppuntsystemen met bestaande beschikbaarheidsgroepen.

Diagram showing how the link feature for SQL Managed Instance works.

Privéverbinding, zoals een VPN of Azure ExpressRoute, wordt gebruikt tussen een on-premises netwerk en Azure. Als SQL Server wordt gehost op een Azure-VM, kan de interne Azure-backbone worden gebruikt tussen de VM en het beheerde exemplaar, zoals peering van virtuele netwerken. Vertrouwen tussen de twee systemen wordt tot stand gebracht met behulp van verificatie op basis van certificaten, waarbij SQL Server en SQL Managed Instance openbare sleutels van hun respectieve certificaten uitwisselen.

Er kunnen maximaal 100 koppelingen zijn van dezelfde of verschillende SQL Server-bronnen naar één met Azure SQL beheerd exemplaar. Deze limiet wordt beheerd door het aantal databases dat tegelijkertijd op een beheerd exemplaar kan worden gehost. Op dezelfde manier kan één SQL Server-exemplaar meerdere parallelle databasesynchronisatiekoppelingen tot stand brengen met verschillende beheerde exemplaren in verschillende Azure-regio's in een een-op-een-relatie tussen een database en een beheerd exemplaar.

Raadpleeg de handleiding voor het voorbereiden van uw SQL Server-omgeving voor het gebruik van de koppelingsfunctie met SQL Managed Instance om u te helpen bij het instellen van de eerste omgeving:

  • Omgeving voorbereiden voor de koppeling voor SQL Server 2019 en hoger, of voor SQL Server 2016
  • Het is mogelijk om het voorbereiden van uw omgeving voor de koppeling beheerd exemplaar te automatiseren met behulp van een downloadbaar script. Raadpleeg de blog voor het instellen van de koppeling automatiseren voor meer informatie.

Nadat u hebt gecontroleerd of aan de eerste omgevingsvereisten is voldaan, kunt u de koppeling maken met behulp van de geautomatiseerde wizard in SQL Server Management Studio (SSMS), of u kunt ervoor kiezen om de koppeling handmatig in te stellen met behulp van scripts:

Nadat de koppeling is gemaakt, volgt u de aanbevolen procedures om de koppeling te onderhouden:

Herstel na noodgeval

Met de koppeling Beheerd exemplaar kunt u herstel na noodgevallen inschakelen. In het geval van een noodgeval kunt u handmatig een failover uitvoeren van uw werkbelasting van uw primaire naar uw secundaire instantie. Als u aan de slag wilt gaan, controleert u herstel na noodgevallen met de koppeling Beheerd exemplaar.

Met SQL Server 2016 en SQL Server 2019 is de primaire server altijd SQL Server en is failover naar het secundaire beheerde exemplaar één richting. Failback naar SQL Server wordt niet ondersteund. Het is echter mogelijk om uw gegevens te herstellen naar SQL Server met behulp van opties voor gegevensverplaatsing, zoals transactionele replicatie of het exporteren van een bacpac.

Met SQL Server 2022 kan SQL Server of SQL Managed Instance de eerste primaire instantie zijn en kunt u de koppeling tot stand brengen vanuit SQL Server of SQL Managed Instance. U kunt failback uitvoeren van uw workloads tussen de primaire en secundaire, waardoor herstel na noodgeval in twee richtingen mogelijk is.

Wanneer u een failback uitvoert naar SQL Server, kunt u ervoor kiezen om een failback uit te geven:

  • online met behulp van de koppeling managed instance rechtstreeks. Deze optie bevindt zich momenteel in een preview-versie.
  • offline door een back-up van uw database te maken vanuit SQL Managed Instance en deze te herstellen naar uw SQL Server 2022-exemplaar. Deze optie is algemeen beschikbaar.

Diagram showing the disaster recovery scenario.

Azure-services gebruiken

Gebruik de koppelingsfunctie om te profiteren van Azure-services met behulp van SQL Server-gegevens zonder deze naar de cloud te migreren. Voorbeelden hiervan zijn rapportage, analyse, back-ups, machine learning en andere taken die gegevens naar Azure verzenden.

Workloads offloaden naar Azure

U kunt de koppelingsfunctie ook gebruiken om workloads naar Azure te offloaden. Een toepassing kan bijvoorbeeld SQL Server gebruiken voor lees-/schrijfworkloads, terwijl hiermee alleen-lezenworkloads worden offload naar SQL Managed Instance-implementaties in elke Azure-regio over de hele wereld. Nadat de koppeling tot stand is gebracht, is de primaire database in SQL Server toegankelijk voor lezen/schrijven, terwijl gerepliceerde gegevens naar uw beheerde exemplaar in Azure alleen-lezen toegankelijk zijn. Met deze rangschikking kunnen verschillende scenario's worden gebruikt waarin gerepliceerde databases in uw beheerde exemplaar kunnen worden gebruikt voor het uitschalen en offloaden van alleen-lezen workloads naar Azure. Uw beheerde exemplaar kan parallel ook onafhankelijke lees-/schrijfdatabases hosten. Hierdoor kan de gerepliceerde database worden gekopieerd naar een andere lees-/schrijfdatabase op hetzelfde beheerde exemplaar voor verdere gegevensverwerking.

De koppeling is een databasebereik (één koppeling per één database), waardoor workloads in Azure kunnen worden samengevoegd en gedeconsolideerd. U kunt bijvoorbeeld databases van meerdere SQL Server-exemplaren repliceren naar één SQL Managed Instance-implementatie in Azure (consolidatie) of u kunt databases van één SQL Server-exemplaar repliceren naar meerdere beheerde exemplaren via een een-op-een-relatie tussen een database en een beheerd exemplaar, naar elke Azure-regio wereldwijd (deconsolidatie). De laatste optie biedt u een efficiënte manier om uw workloads snel dichter bij uw klanten te brengen in elke regio over de hele wereld, die u kunt gebruiken als alleen-lezen replica's.

Migreren naar Azure

Met de koppelingsfunctie kunt u ook migreren van SQL Server naar SQL Managed Instance, waardoor:

  • De meest presterende, minimale downtimemigratie, vergeleken met alle andere oplossingen die momenteel beschikbaar zijn.
  • Echte onlinemigratie naar SQL Managed Instance in elke servicelaag.

Omdat de koppelingsfunctie minimale downtimemigratie mogelijk maakt, kunt u migreren naar uw beheerde exemplaar terwijl u uw primaire workload online onderhoudt. Hoewel het momenteel mogelijk is om onlinemigraties naar de servicelaag Algemeen gebruik met andere oplossingen te bereiken, is de koppelingsfunctie de enige oplossing waarmee echte onlinemigraties naar de Bedrijfskritiek-laag worden toegestaan.

Gegevens on-premises kopiëren

Met SQL Server 2022 kunt u uw koppeling van SQL Managed Instance naar SQL Server tot stand brengen, extra scenario's ontgrendelen, zoals het maken van een bijna realtime databasereplica buiten Azure, het testen van bedrijfscontinuïteitsplannen en het voldoen aan nalevingsvereisten. Het tot stand brengen van een koppeling van SQL Managed Instance naar SQL Server 2022 is momenteel in preview.

Automatische back-ups

Nadat uw databases zijn gerepliceerd naar uw met Azure SQL beheerde exemplaar, wordt er automatisch een back-up gemaakt van azure-opslag. U kunt uw on-premises beheer- en bewerkingskosten verlagen terwijl u profiteert van de betrouwbaarheid van Azure-back-ups voor uw gerepliceerde databases. Vervolgens kunt u een herstel naar een bepaald tijdstip van uw gerepliceerde database uitvoeren naar elke SQL Managed Instance-implementatie in dezelfde regio, net als bij elke andere geautomatiseerde back-up.

Licentievrije passieve DR-replica

U kunt besparen op vCore-licentiekosten als u het voordeel voor hybride failover activeert voor secundair passief noodherstel, alleen beheerde SQL-exemplaren die geen workloads hebben.

Bekijk licentievrije passieve replica om aan de slag te gaan.

Kostenvoordeel

Als u alleen een replica van een beheerd exemplaar aanwijst voor herstel na noodgevallen, worden er geen sql Server-licentiekosten in rekening gebracht voor de vCores die door het secundaire exemplaar worden gebruikt. Houd er rekening mee dat het exemplaar op een uurgranulariteit wordt gefactureerd en dat er mogelijk nog steeds licentiekosten in rekening worden gebracht voor een volledig uur als u het licentievoordeel tijdens het uur bijwerkt.

Het voordeel weerspiegelt zich anders voor het factureringsmodel voor betalen per gebruik en het Azure Hybrid Benefit. Voor een factureringsmodel voor betalen per gebruik worden de vCores korting op uw factuur. Als u Azure Hybrid Benefit gebruikt voor de passieve replica, wordt het aantal vCores dat door de secundaire replica wordt gebruikt, geretourneerd naar uw pool met licenties.

Als u bijvoorbeeld als betalen per gebruik-klant 16 vCores hebt toegewezen aan het secundaire exemplaar, wordt er een korting voor 16 vCores weergegeven op uw factuur als u uw secundaire exemplaar aanwijst voor hybride failover.

Als u in een ander voorbeeld 16 Azure Hybrid Benefit-licenties hebt en uw secundaire met SQL beheerde exemplaar 8 vCores gebruikt, worden na het aanwijzen van het secundaire exemplaar voor hybride failover 8 vCores geretourneerd naar uw licentiegroep voor gebruik met andere Azure SQL-implementaties.

Zie de licentievoorwaarden voor SQL Server online in de sectie 'SQL Server - Failover-rechten' voor nauwkeurige voorwaarden van het voordeel van hybride failoverrechten.

Beperkingen

Houd rekening met de volgende beperkingen wanneer u de koppeling gebruikt.

Beperkingen voor versieondersteuning zijn onder andere:

  • U kunt geen Windows 10- en 11-clients gebruiken om uw SQL Server-exemplaar te hosten, omdat het niet mogelijk is om de functie AlwaysOn-beschikbaarheidsgroep in te schakelen die vereist is voor de koppeling. SQL Server-exemplaren moeten worden gehost op Windows Server 2012 of hoger.
  • SQL Server-versies 2008 tot en met 2014 worden niet ondersteund door de koppelingsfunctie, omdat de SQL-engine van deze releases geen ingebouwde ondersteuning heeft voor gedistribueerde beschikbaarheidsgroepen die vereist zijn voor de koppeling. Voer een upgrade uit naar een nieuwere versie van SQL Server om de koppeling te gebruiken.
  • Het tot stand brengen van een koppeling van SQL Managed Instance naar SQL Server wordt alleen ondersteund met SQL Server 2022.

Beperkingen voor gegevensreplicatie zijn onder andere:

  • Alleen gebruikersdatabases kunnen worden gerepliceerd. Replicatie van systeemdatabases wordt niet ondersteund.
  • De oplossing repliceert geen objecten op serverniveau, agenttaken of gebruikersaanmelding van SQL Server naar SQL Managed Instance.
  • Voor SQL Server-versies 2016 en 2019 is replicatie van gebruikersdatabases van SQL Server-exemplaren naar SQL Managed Instance-implementaties één manier. Gebruikersdatabases van SQL Managed Instance-implementaties kunnen niet worden gerepliceerd naar SQL Server-exemplaren. Replicatie in twee richtingen met failback naar een SQL Server-exemplaar is alleen beschikbaar voor SQL Server 2022.
  • Het configureren van een koppeling van SQL Managed Instance naar SQL Server op een database wordt niet ondersteund voor SQL Managed Instance-databases die al zijn gekoppeld.

Configuratiebeperkingen zijn onder andere:

  • Als er meerdere SQL Server-exemplaren op een server zijn, is het mogelijk om een koppeling met elk exemplaar te configureren, maar elk exemplaar moet worden geconfigureerd voor het gebruik van een afzonderlijk eindpunt voor databasespiegeling, met een toegewezen poort per exemplaar. Alleen het standaardexemplaren moet poort 5022 gebruiken voor het eindpunt voor databasespiegeling.
  • Er kan slechts één database in één beschikbaarheidsgroep worden geplaatst voor één beheerde exemplaarkoppeling. Het is echter mogelijk om meerdere databases in één SQL Server-exemplaar te repliceren door meerdere koppelingen tot stand te brengen.
  • Eén beheerd exemplaar ondersteunt maximaal 100 koppelingen van meerdere SQL Server-exemplaren.
  • Een managed instance-koppeling kan een database van elke grootte repliceren als deze past in de gekozen opslaggrootte van de doelimplementatie van SQL Managed Instance.
  • Verificatie van beheerde exemplaren koppelen tussen SQL Server en SQL Managed Instance is gebaseerd op certificaten en is alleen beschikbaar via een uitwisseling van certificaten. Het gebruik van Windows-verificatie om de koppeling tussen het SQL Server-exemplaar en het beheerde exemplaar tot stand te brengen, wordt niet ondersteund.
  • Alleen het lokale VNet-eindpunt wordt ondersteund om een koppeling met sql Managed Instance tot stand te brengen.
  • U kunt geen openbaar eindpunt of privé-eindpunten gebruiken om de koppeling met het beheerde exemplaar tot stand te brengen.
  • Databases met meerdere logboekbestanden kunnen niet worden gerepliceerd, omdat SQL Managed Instance geen ondersteuning biedt voor meerdere logboekbestanden.

Functiebeperkingen zijn onder andere:

  • Failovergroepen worden niet ondersteund met exemplaren die gebruikmaken van de koppelingsfunctie. U kunt geen koppeling maken op een beheerd exemplaar dat deel uitmaakt van een failovergroep. U kunt daarentegen geen failovergroep configureren voor een exemplaar dat een koppeling tot stand heeft gebracht.
  • Als u Change Data Capture (CDC), logboekverzending of een servicebroker gebruikt met databases die worden gerepliceerd op het SQL Server-exemplaar, wanneer de database wordt gemigreerd naar een SQL Managed Instance-implementatie, moeten clients tijdens een failover naar Azure verbinding maken met behulp van de exemplaarnaam van de huidige globale primaire replica. Deze instellingen moeten handmatig opnieuw worden geconfigureerd.
  • Als u transactionele replicatie gebruikt met een database op een SQL Server-exemplaar in een migratiescenario, mislukt de transactionele replicatie in de sql Managed Instance-implementatie tijdens een failover naar Azure en moet deze handmatig opnieuw worden geconfigureerd.
  • Als u gedistribueerde transacties gebruikt met een database die wordt gerepliceerd vanuit het SQL Server-exemplaar en, in een migratiescenario, worden de mogelijkheden van gedistribueerde transactiecoördinator niet overgedragen naar de cloud. Het is niet mogelijk voor de gemigreerde database om betrokken te raken bij gedistribueerde transacties met het SQL Server-exemplaar, omdat de implementatie van SQL Managed Instance momenteel geen ondersteuning biedt voor gedistribueerde transacties met SQL Server. Ter referentie ondersteunt SQL Managed Instance momenteel alleen gedistribueerde transacties tussen andere beheerde exemplaren. Zie Gedistribueerde transacties in clouddatabases voor meer informatie.
  • Als u Transparent Data Encryption (TDE) gebruikt om SQL Server-databases te versleutelen, moet de databaseversleutelingssleutel van SQL Server worden geëxporteerd en geüpload naar Azure Key Vault en moet u ook de optie BYOK TDE configureren voor SQL Managed Instance voordat u de koppeling maakt.
  • SQL Managed Instance-databases die zijn versleuteld met door de service beheerde TDE-sleutels kunnen niet worden gekoppeld aan SQL Server. U kunt een versleutelde database alleen koppelen aan SQL Server als deze is versleuteld met een door de klant beheerde sleutel en de doelserver toegang heeft tot dezelfde sleutel die wordt gebruikt om de database te versleutelen. Zie SQL Server TDE instellen met Azure Key Vault voor meer informatie.
  • U kunt geen koppeling tot stand brengen tussen SQL Server en SQL Managed Instance als de functionaliteit die wordt gebruikt op het SQL Server-exemplaar niet wordt ondersteund op het beheerde exemplaar. Bijvoorbeeld:
    • Databases met bestandstabellen en bestandsstromen kunnen niet worden gerepliceerd, omdat SQL Managed Instance geen ondersteuning biedt voor bestandstabellen of bestandsstromen.
    • Databases die OLTP in het geheugen gebruiken, kunnen alleen worden gerepliceerd naar SQL Managed Instance in de servicelaag Bedrijfskritiek omdat de servicelaag Algemeen gebruik geen ondersteuning biedt voor OLTP in het geheugen. Databases met meerdere OLTP-bestanden in het geheugen worden niet ondersteund door SQL Managed Instance en kunnen niet worden gerepliceerd.

Er wordt geprobeerd een niet-ondersteunde functionaliteit toe te voegen aan een gerepliceerde database in:

  • SQL Server 2019 en 2022 mislukt met een fout.
  • SQL Server 2016 resulteert in het verbreken van de koppeling, die vervolgens moet worden verwijderd en opnieuw moet worden gemaakt.

Zie T-SQL-verschillen tussen SQL Server en Azure SQL Managed Instance voor een volledige lijst met verschillen tussen SQL Server en SQL Managed Instance.

Voor andere replicatie- en migratiescenario's kunt u het volgende overwegen: