Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Spiegeling in Fabric is een zakelijke, cloudgebaseerde, zero-ETL- en SaaS-technologie. In deze sectie leert u hoe u een gespiegelde SQL Server-database maakt, waarmee een alleen-lezen, continu gerepliceerde kopie van uw SQL Server-gegevens in OneLake wordt gemaakt.
Belangrijk
Deze functie is beschikbaar als preview-versie.
Vereiste voorwaarden
- Installeer of gebruik een bestaand SQL Server-exemplaar, on-premises of in de cloud.
- Als zelfstudie raden we u aan een kopie van een van uw bestaande databases of een bestaande test- of ontwikkelingsdatabase te gebruiken die u snel kunt herstellen vanuit een back-up.
- Installeer een T-SQL-queryprogramma zoals SQL Server Management Studio (SSMS) of de mssql-extensie met Visual Studio Code.
- U hebt een bestaande capaciteit nodig voor Fabric. Als u dat niet doet, start u een Fabric-proefversie.
- De fabric-capaciteit moet actief zijn en draaien. Een onderbroken of verwijderde capaciteit heeft invloed op spiegeling en er worden geen gegevens gerepliceerd.
- Fabric-tenantinstellingen zijn vereist. Zorg ervoor dat de volgende twee Fabric Tenant-instellingen zijn ingeschakeld:
- Als u gegevens uit SQL Server 2025 wilt spiegelen, moet u een lid- of beheerdersrol hebben in uw werkruimte wanneer u een gespiegelde database maakt vanuit de Fabric-portal. Tijdens het maken krijgt de beheerde identiteit van SQL Server automatisch de machtiging Lezen en schrijven voor de gespiegelde database. Gebruikers met de rol Inzender hebben niet de machtiging Opnieuw delen nodig om deze stap te voltooien.
- Bekijk de platformbeperkingen in gespiegelde Microsoft Fabric-databases van SQL Server.
- Een on-premises gegevensgateway in het netwerk van uw SQL Server-instantie. Het netwerk van de gatewaycomputer moet verbinding maken met het SQL Server-exemplaar via een privé-eindpunt of worden toegestaan door de firewallregel.
Databasebeheerder voor Fabric
Vervolgens moet u een manier maken voor de Fabric-service om te verifiëren bij uw SQL Server-exemplaar.
U kunt dit doen met een login en toegewezen databasegebruiker.
Een login en een toegewezen databasegebruiker gebruiken
Fabric gebruikt een toegewezen aanmelding om verbinding te maken met het SQL Server-bronexemplaren.
Volg deze instructies voor SQL Server 2025 of SQL Server 2016-2022 om een aanmeldings- en databasegebruiker te maken voor databasespiegeling.
In SQL Server 2025 zijn de vereiste machtigingen voor de fabric-aanmelding:
- Lidmaatschap van de serverfunctie
##MS_ServerStateReader## - De volgende machtigingen in de gebruikersdatabase:
- SELECT
- EEN EXTERNE SPIEGEL WIJZIGEN
Maak verbinding met uw SQL Server-exemplaar met behulp van een hulpprogramma voor T-SQL-query's, zoals SQL Server Management Studio (SSMS) of de mssql-extensie met Visual Studio Code.
Maak verbinding met de
masterdatabase. Maak een serveraanmelding en wijs de juiste machtigingen toe.Belangrijk
Voor SQL Server-exemplaren in een AlwaysOn-beschikbaarheidsgroep moet de aanmelding worden gemaakt in alle SQL Server-exemplaren. De
fabric_loginprincipal moet dezelfde SID hebben in elk replica-exemplaar.- Maak een geverifieerde SQL-aanmelding met de naam
fabric_login. U kunt elke naam voor deze aanmelding kiezen. Geef uw eigen sterke wachtwoord op. Voer het volgende T-SQL-script uit in demasterdatabase:
--Run in the master database USE [master]; CREATE LOGIN [fabric_login] WITH PASSWORD = '<strong password>'; ALTER SERVER ROLE [##MS_ServerStateReader##] ADD MEMBER [fabric_login];- Of meld u aan als de Microsoft Entra-beheerder en maak een geverifieerde Microsoft Entra-id op basis van een bestaand account (aanbevolen). Voer het volgende T-SQL-script uit in de
masterdatabase:
--Run in the master database USE [master]; CREATE LOGIN [bob@contoso.com] FROM EXTERNAL PROVIDER; ALTER SERVER ROLE [##MS_ServerStateReader##] ADD MEMBER [bob@contoso.com];- Maak een geverifieerde SQL-aanmelding met de naam
Maak verbinding met de gebruikersdatabase die u wilt spiegelen met Microsoft Fabric. Maak een databasegebruiker die is verbonden met de aanmelding en ververleent de minimale bevoegdheden die nodig zijn:
- Voor een geverifieerde SQL-aanmelding:
--Run in the user database CREATE USER [fabric_user] FOR LOGIN [fabric_login]; GRANT SELECT, ALTER ANY EXTERNAL MIRROR TO [fabric_user];- Of, voor een geverifieerde Aanmelding bij Microsoft Entra (aanbevolen):
--Run in the user database CREATE USER [bob@contoso.com] FOR LOGIN [bob@contoso.com]; GRANT SELECT, ALTER ANY EXTERNAL MIRROR TO [bob@contoso.com];
Verbinding maken met uw SQL Server
De instructies en vereisten voor het configureren van een Fabric Mirrored Database vanuit SQL Server verschillen in SQL Server 2025. In SQL Server 2025 maakt een server met Azure Arc deel uit van de benodigde configuratie voor de communicatie met Fabric. Vóór SQL Server 2025 is Azure Arc niet vereist en is de replicatie gebaseerd op Change Data Capture (CDC).
Server verbinden met Azure Arc en beheerde identiteit inschakelen
Als u Fabric Mirroring wilt configureren, moet u Azure Arc configureren voor uw SQL Server 2025-exemplaar.
Verbind de server met Azure Arc. Volg de stappen in Quickstart : Hybride machine verbinden met servers met Azure Arc.
Voor SQL Server-exemplaren die worden uitgevoerd in een AlwaysOn-beschikbaarheidsgroep of failoverclusterexemplaren, moeten alle knooppunten zijn verbonden met Azure Arc.
Er zijn drie registersleutels nodig op de Windows Server die als host fungeert voor het SQL Server-bronexemplaar voor Fabric Mirroring. De registersleutels bevatten informatie over de door het systeem toegewezen beheerde identiteit (SAMI) voor de Windows Server. Met het volgende PowerShell-script worden drie registersleutels, de benodigde bestandssysteemmachtigingen en beheerde identiteiten toegevoegd.
Opmerking
Deze sectie bevat een script voor het wijzigen van het Windows-register. Zorg ervoor dat u deze stappen zorgvuldig uitvoert. Maak voor extra beveiliging een back-up van het register voordat u het wijzigt. Vervolgens kunt u het register herstellen als er een probleem optreedt. Voor meer informatie over hoe u het register kunt back-uppen en herstellen, zie Hoe het register in Windows back-uppen en herstellen.
De drie registersleutels worden toegevoegd op de volgende locatie:
- Voor een standaardexemplaar:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQLServer\FederatedAuthentication - Voor een benoemde instantie:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL17.Instancename\MSSQLServer\FederatedAuthentication
Het script voegt de volgende sleutels toe:
ArcServerManagedIdentityClientIdArcServerSystemAssignedManagedIdentityClientIdArcServerSystemAssignedManagedIdentityTenantID
Voer het volgende PowerShell-script uit om de door het systeem toegewezen beheerde identiteit (SAMI) en de benodigde registersleutels op de Windows Server te configureren die als host fungeert voor het SQL Server-bronexemplaren.
$apiVersion = "2020-06-01" $resource = "https://storage.azure.com/" $ep = $env:IDENTITY_ENDPOINT if (!$ep) { throw "Azure Arc service is not installed, Microsoft Fabric Mirroring cannot be enabled." } $endpoint = "{0}?resource={1}&api-version={2}" -f $ep,$resource,$apiVersion $secretFile = "" try { Invoke-WebRequest -Method GET -Uri $endpoint -Headers @{Metadata='True'} -UseBasicParsing > $null } catch { if ($_.Exception.Response.Headers) { $wwwAuthHeader = $_.Exception.Response.Headers["WWW-Authenticate"] if ($wwwAuthHeader -match "Basic realm=.+") { $secretFile = ($wwwAuthHeader -split "Basic realm=")[1] } } } if (!$secretFile) { throw "Secret file path not found." } $secret = cat -Raw $secretFile try { $response = Invoke-WebRequest -Method GET -Uri $endpoint -Headers @{Metadata='True'; Authorization="Basic $secret"} -UseBasicParsing } catch { throw "Can not establish communication with IMDS service. You need to have Azure Arc service installed" } if ($response) { $parts = (ConvertFrom-Json -InputObject $response.Content).access_token -split "\." $padLength = 4 - ($parts[1].Length % 4) if ($padLength -ne 4) { $parts[1] += "=" * $padLength } $payload = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($parts[1])) | ConvertFrom-Json $regPath = "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL" $instance = "" $regKey = Get-Item -Path $regPath $regKey.GetValueNames() | Where-Object { $regKey.GetValue($_) -match 'MSSQL17' } | ForEach-Object { $instance = $_ $service = if ($instance -eq "MSSQLSERVER") { "MSSQLSERVER" } else { "MSSQL$" + $instance } $reginst = $regKey.GetValue($_) $regFed = "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\$($reginst)\MSSQLServer\FederatedAuthentication" if (-not (Test-Path -Path $regFed)) { New-Item -Path $regFed -Force > $null } Write-Host "Registering Azure Arc MSI service for SQL Server instance: " $instance `n Set-ItemProperty -Path $regFed -Name "ArcServerManagedIdentityClientId" -Value "" Set-ItemProperty -Path $regFed -Name "ArcServerSystemAssignedManagedIdentityClientId" -Value $($payload.appid) Set-ItemProperty -Path $regFed -Name "ArcServerSystemAssignedManagedIdentityTenantId" -Value $($payload.tid) $svcPath = "HKLM:\SYSTEM\CurrentControlSet\Services\$($service)" if (Test-Path -Path $svcPath) { $keyPath = Split-Path $secretFile $svcKey = Get-Item -Path $svcPath $sqlAccount = $svcKey.GetValue("ObjectName") if ($sqlAccount -ne "LocalSystem") { Write-Host "Permissioning folder" $keyPath "for SQL Server account" $sqlAccount `n icacls $keyPath /grant "$($sqlAccount):(OI)(CI)R" $group = "Hybrid agent extension applications" $isMember = Get-LocalGroupMember -Group $group | Where-Object { $_.Name -eq $sqlAccount } if (-not $isMember) { Write-Host "Also adding SQL running account to local group: $group" `n Add-LocalGroupMember -Group $group -Member $sqlAccount } else { Write-Host "" } } } } Write-Host "Registration complete for:" `n "Client ID: " $($payload.appid) `n "Tenant ID: " $($payload.tid) `n }Belangrijk
Voor SQL Server-exemplaren die worden uitgevoerd in een AlwaysOn-beschikbaarheidsgroep of failoverclusterexemplaren, voert u het PowerShell-script lokaal uit op elk knooppunt.
- Voor een standaardexemplaar:
Maak verbinding met uw lokale SQL Server 2025-exemplaar. Wanneer u verbinding maakt, selecteert u Het certificaat van de vertrouwensserver.
De beheerde identiteiten weergeven:
--Run in the master database USE [master]; SELECT * FROM sys.dm_server_managed_identities;Hiermee wordt 1 rij geretourneerd met de juiste
client_identenant_id. De waarde vanIdentity_typemoet "Door het systeem toegewezen" zijn.
Machtigingen voor beheerde identiteiten toevoegen in Microsoft Fabric
De beheerde identiteit van de SQL Server wordt automatisch gemaakt en verleend door Microsoft Fabric.
Voor SQL Server-exemplaren die worden uitgevoerd in een Always On-beschikbaarheidsgroep of failoverclusterexemplaarconfiguratie, moet de door het systeem toegewezen beheerde identiteit (SAMI) van elk secundair knooppunt echter Contributor-rechten krijgen voor de Fabric-werkruimte. Er wordt een beheerde identiteit gemaakt door het PowerShell-script dat voor elk secundair knooppunt is opgegeven, en er moet handmatig Fabric-machtigingen worden verleend.
- In de Fabric-portal verleent u Fabric-machtigingen aan de beheerde identiteit van elk secundair knooppunt.
Selecteer Toegang beheren in de Fabric-werkruimte.
Selecteer Personen of groepen toevoegen.
Zoek in het dialoogvenster Personen toevoegen de servernamen voor elk knooppunt in de beschikbaarheidsgroep of het failovercluster.
Ken elk lidmaatschap toe aan de rol Inzender.
De on-premises gegevensgateway configureren
Controleer uw netwerkvereisten voor Fabric voor toegang tot uw SQL Server. U moet een lokale gegevensgateway installeren om de gegevens te spiegelen. Zorg ervoor dat het netwerk van de on-premises gatewaycomputer verbinding kan maken met het SQL Server-exemplaar. Zie voor meer informatie Hoe gespiegelde databases van Microsoft Fabric beveiligen vanuit SQL Server.
- Download de on-premises datagateway bij het officiële Microsoft Downloadcentrum.
- Start de installatie. Volg de instructies in Installeren van een lokale gegevensgateway.
- Geef het e-mailadres van uw Microsoft-account op.
- Naam:
MyOPDGof elke gewenste naam. - Herstelsleutel: geef een sterke herstelsleutel op.
Een gespiegelde SQL Server maken
- Open de Fabric portal.
- Gebruik een bestaande werkruimte of maak een nieuwe werkruimte.
- Navigeer naar het deelvenster Maken . Selecteer het pictogram Maken .
- Schuif naar de gespiegelde SQL Server-database.
- Voer de naam in van uw SQL Server-database om te spiegelen en selecteer Maken.
Fabric verbinden met uw SQL Server-exemplaar
Als u spiegeling wilt inschakelen, moet u vanuit Fabric verbinding maken met het SQL Server-exemplaar om de verbinding vanuit Fabric te initiëren. De volgende stappen helpen u bij het maken van de verbinding met uw SQL Server:
Selecteer onder Nieuwe bronnende SQL Server-database. Of selecteer een bestaande SQL Server-verbinding vanuit de OneLake-hub.
Als u Nieuwe verbinding hebt geselecteerd, voert u de verbindingsgegevens in voor het SQL Server-exemplaar.
- Server: het volledig gekwalificeerde servernaampad dat fabric gebruikt om uw SQL Server-exemplaar te bereiken, hetzelfde als voor SSMS.
Aanbeveling
SQL Server-exemplaren in een AlwaysOn-beschikbaarheidsgroep gebruiken de AlwaysOn-listener voor Server. Als SQL Server wordt uitgevoerd in een clusterinstantieconfiguratie met failover, gebruikt u de virtuele netwerknaam voor Server.
-
Database: Voer de naam van uw SQL Server in.
- Verbinding: maak een nieuwe verbinding.
- Verbindingsnaam: er wordt een automatische naam opgegeven. U kunt het wijzigen.
- Gegevensgateway: Selecteer de on-premises gegevensgateway die u instelt op basis van uw scenario.
- Authenticatietype: Kies de authenticatiemethode en geef de principal op die u hebt ingesteld in Een aanmelding en toegewezen databasegebruiker gebruiken.
- Schakel het selectievakje Versleutelde verbinding gebruiken in.
Selecteer Maak verbinding met.
Belangrijk
Elke gedetailleerde beveiliging die is ingesteld in de brondatabase, moet opnieuw worden geconfigureerd in de gespiegelde database in Microsoft Fabric. Zie voor meer informatie Hoe gespiegelde databases van Microsoft Fabric beveiligen vanuit SQL Server.
Spiegelingsproces starten
Met het scherm Spiegeling configureren kunt u standaard alle gegevens in de database spiegelen.
Alle gegevens spiegelen betekent dat alle nieuwe tabellen die zijn gemaakt nadat spiegeling is gestart, worden gespiegeld.
Kies desgewenst alleen bepaalde objecten die u wilt spiegelen. Schakel de optie Alle gegevens spiegelen uit en selecteer vervolgens afzonderlijke tabellen in uw database.
Voor deze zelfstudie selecteren we de optie Alle gegevens spiegelen .
Selecteer Creeër een gespiegelde database. Spiegeling begint.
Wacht 2-5 minuten. Vervolgens selecteer Replicatie controleren om de status te zien.
Na een paar minuten wordt de status gewijzigd in Actief, wat betekent dat de tabellen worden gesynchroniseerd.
Als u de tabellen en de bijbehorende replicatiestatus niet ziet, wacht u een paar seconden en vernieuwt u het deelvenster.
Wanneer ze klaar zijn met het kopiëren van de tabellen, wordt er een datum weergegeven in de kolom Laatste vernieuwing .
Nu uw gegevens operationeel zijn, zijn er verschillende analysescenario's beschikbaar over het gehele Fabric.
Structuurspiegeling bewaken
Zodra spiegeling is geconfigureerd, wordt u omgeleid naar de pagina Status van spiegeling . Hier kunt u de huidige replicatiestatus bewaken.
Zie Monitor Fabric-gespiegelde databasereplicatie voor meer informatie en details over de replicatiestatussen.
Gegevens valideren in OneLake
Als fabricspiegeling actief is, kunt u nu query's uitvoeren vanuit uw SQL Server-database in Microsoft Fabric. Zie Gegevens verkennen in uw gespiegelde database met behulp van Microsoft Fabric voor meer informatie.
Optimalisatie van prestaties
Nu spiegeling actief is, leert u hoe u de prestaties van de brondatabase en gespiegelde database kunt optimaliseren vanuit SQL Server in Microsoft Fabric.