Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Spegling i Fabric är en företagsbaserad, molnbaserad, noll-ETL, SaaS-teknik. I det här avsnittet får du lära dig hur du skapar en speglad SQL Server-databas, som skapar en skrivskyddad, kontinuerligt replikerad kopia av dina SQL Server-data i OneLake.
Viktigt!
Den här funktionen är i förhandsversion.
Förutsättningar
- Installera eller använda en befintlig SQL Server-instans, lokalt eller i molnet.
- Som en självstudie rekommenderar vi att du använder en kopia av en av dina befintliga databaser eller en befintlig test- eller utvecklingsdatabas som du snabbt kan återställa från en säkerhetskopia.
 
 - Installera ett T-SQL-frågeverktyg som SQL Server Management Studio (SSMS) eller mssql-tillägget med Visual Studio Code.
 - Du behöver en befintlig kapacitet för Fabric. Om du inte gör det, starta en Fabric-prenumeration.
- Fabric-kapaciteten måste vara aktiv och i drift. En pausad eller borttagen kapacitet påverkar spegling och inga data replikeras.
 
 - Inställningar för Fabric-klient krävs. Kontrollera att följande två Fabric-hyresgäst inställningar är aktiverade:
 - Om du vill spegla data från SQL Server 2025 måste du ha en medlems- eller administratörsroll på din arbetsyta när du skapar en speglad databas från Fabric-portalen. När den hanterade identiteten för SQL Server skapas beviljas automatiskt behörigheten "Läsa och skriva" i den speglade databasen. Användare med deltagarrollen har inte den behörighet för omdelning som krävs för att slutföra det här steget.
 - Granska plattformsbegränsningarna i Microsoft Fabric-speglade databaser från SQL Server.
 - En lokal datagateway i SQL Server-instansens nätverk. Gatewaydatorns nätverk måste ansluta till SQL Server-instansen via en privat slutpunkt eller tillåtas av brandväggsregeln.
 
Databasprincip för Fabric
Därefter måste du skapa ett sätt för Fabric-tjänsten att autentisera till din SQL Server-instans.
Du kan göra detta med ett login och en mappad databasanvändare.
Använd en inloggning och en mappad databasanvändare
Fabric använder en dedikerad inloggning för att ansluta till SQL Server-källinstansen.
Följ dessa instruktioner för antingen SQL Server 2025 eller SQL Server 2016-2022 för att skapa en inloggnings- och databasanvändare för databasspegling.
I SQL Server 2025 är de behörigheter som krävs för fabric-inloggningen:
- Medlemskap i serverrollen 
##MS_ServerStateReader## - Följande behörigheter i användardatabasen: 
- SELECT
 - ÄNDRA EVENTUELL EXTERN SPEGLING
 
 
Anslut till SQL Server-instansen med ett T-SQL-frågeverktyg som SQL Server Management Studio (SSMS) eller mssql-tillägget med Visual Studio Code.
Anslut till
masterdatabasen. Skapa en serverinloggning och tilldela lämpliga behörigheter.Viktigt!
För SQL Server-instanser i en AlwaysOn-tillgänglighetsgrupp måste inloggningen skapas i alla SQL Server-instanser. Huvudnamnet
fabric_loginmåste ha samma SID i varje replikinstans.- Skapa en SQL-autentiserad inloggning med namnet 
fabric_login. Du kan välja valfritt namn för den här inloggningen. Ange ditt eget starka lösenord. Kör följande T-SQL-skript imasterdatabasen: 
--Run in the master database USE [master]; CREATE LOGIN [fabric_login] WITH PASSWORD = '<strong password>'; ALTER SERVER ROLE [##MS_ServerStateReader##] ADD MEMBER [fabric_login];- Eller logga in som Microsoft Entra-administratör och skapa en autentiserad inloggning med Microsoft Entra-ID från ett befintligt konto (rekommenderas). Kör följande T-SQL-skript i 
masterdatabasen: 
--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];- Skapa en SQL-autentiserad inloggning med namnet 
 Anslut till användardatabasen som du planerar att spegla till Microsoft Fabric. Skapa en databasanvändare som är ansluten till inloggningen och bevilja minsta möjliga behörighet:
- För en SQL-autentiserad inloggning:
 
--Run in the user database CREATE USER [fabric_user] FOR LOGIN [fabric_login]; GRANT SELECT, ALTER ANY EXTERNAL MIRROR TO [fabric_user];- Eller för en Microsoft Entra-autentiserad inloggning (rekommenderas):
 
--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];
Ansluta till din SQL Server
Instruktionerna och kraven för att konfigurera en infrastrukturspeglingsdatabas från SQL Server skiljer sig åt i SQL Server 2025. I SQL Server 2025 är en Azure Arc-aktiverad server en del av den nödvändiga konfigurationen för kommunikationen till Fabric. Innan SQL Server 2025 krävs inte Azure Arc och replikeringen baseras på CDC (Change Data Capture).
Ansluta servern till Azure Arc och aktivera hantera identitet
För att konfigurera Fabric Mirroring måste du konfigurera Azure Arc för din SQL Server 2025-instans.
Anslut servern till Azure Arc. Följ stegen i Snabbstart – Ansluta hybriddatorn med Azure Arc-aktiverade servrar.
För SQL Server-instanser som körs i en AlwaysOn-tillgänglighetsgrupp eller redundansklusterinstanskonfiguration måste alla noder vara anslutna till Azure Arc.
Tre registernycklar krävs på Windows Server som är värd för källinstansen av SQL Server för Fabric Mirroring. Registernycklarna innehåller information om den systemtilldelade hanterade identiteten (SAMI) för Windows Server. Följande PowerShell-skript lägger till tre registernycklar, nödvändiga filsystembehörigheter och hanterade identiteter.
Anmärkning
Det här avsnittet innehåller ett skript för att ändra Windows-registret. Se till att du följer dessa steg noggrant. Säkerhetskopiera registret innan du ändrar det för extra skydd. Sedan kan du återställa registret om ett problem uppstår. Mer information om hur du säkerhetskopierar och återställer registret finns i Hur du säkerhetskopierar och återställer registret i Windows.
De tre registernycklarna läggs till på följande plats:
- För en standardinstans: 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQLServer\FederatedAuthentication - För en namngiven instans: 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL17.Instancename\MSSQLServer\FederatedAuthentication 
Skriptet lägger till följande nycklar:
ArcServerManagedIdentityClientIdArcServerSystemAssignedManagedIdentityClientIdArcServerSystemAssignedManagedIdentityTenantID
Kör följande PowerShell-skript för att konfigurera den systemtilldelade hanterade identiteten (SAMI) och nödvändiga registernycklar på Den Windows Server som är värd för SQL Server-källinstansen.
$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 }Viktigt!
För SQL Server-instanser som körs i en AlwaysOn-tillgänglighetsgrupp eller redundansklusterinstanskonfiguration kör du PowerShell-skriptet lokalt på varje nod.
- För en standardinstans: 
 Anslut till din lokala SQL Server 2025-instans. När du ansluter väljer du Betrodd servercertifikat.
Visa hanterade identiteter:
--Run in the master database USE [master]; SELECT * FROM sys.dm_server_managed_identities;Detta bör returnera 1 rad med rätt
client_idochtenant_id.Identity_typeska vara "Systemtilldelad".
Lägga till behörigheter för hanterade identiteter i Microsoft Fabric
Den hanterade identiteten för SQL Server skapas och beviljas behörigheter av Microsoft Fabric automatiskt.
För SQL Server-instanser som körs i en Always On-tillgänglighetsgrupp eller konfiguration av redundansklusterinstans, måste dock den systemtilldelade hanterade identiteten (SAMI) för varje sekundär nod tilldelas deltagarbehörighet till Fabric-arbetsytan. En hanterad identitet skapas av PowerShell-skriptet som tillhandahålls för varje sekundär nod, och som måste beviljas Fabric-behörigheter manuellt.
- I Fabricportalen beviljar du Fabric-behörigheter till varje sekundär nods hanterade identitet.
På arbetsytan Fabric väljer du Hantera åtkomst.
              
              
            
Välj Lägg till personer eller grupper.
I dialogrutan Lägg till personer letar du reda på servernamnen för varje nod i tillgänglighetsgruppen eller redundansklustret.
Bevilja varje medlemskap rollen Bidragsgivare.
              
              
            
 
Konfigurera den lokala datagatewayen
Kontrollera dina nätverkskrav för Fabric för att få åtkomst till din SQL Server. Du måste installera en lokal datagateway för att spegla data. Kontrollera att den lokala gatewaydatorns nätverk kan ansluta till SQL Server-instansen. Mer information finns i How to: Secure data Microsoft Fabric mirrored databases From SQL Server (Skydda data, Microsoft Fabric-speglade databaser från SQL Server).
- Ladda ned data gateway för lokalt bruk från Microsofts officiella nedladdningscenter.
 - Starta installationen. Följ anvisningarna i Installera en lokal datagateway.
- Ange din e-postadress för Ditt Microsoft-konto.
 - Namn: 
MyOPDGeller något namn du önskar. - Ange en säker återställningsnyckel.
 
 
Skapa en speglad SQL Server
- Öppna Fabric-portalen.
 - Använd en befintlig arbetsyta eller skapa en ny arbetsyta.
 - Gå till panelen Skapa . Välj ikonen Skapa.
 - Rulla för att välja Speglad SQL Server-databas.
 - Ange namnet på din SQL Server-databas som ska speglas och välj sedan Skapa.
 
Anslut Fabric till din SQL Server-instans
För att aktivera spegling måste du ansluta till SQL Server-instansen från Fabric för att initiera anslutningen från Fabric. Följande steg vägleder dig genom processen att skapa anslutningen till DIN SQL Server:
Under Nya källor väljer du SQL Server-databas. Eller välj en befintlig SQL Server-anslutning från OneLake-hubben.
Om du har valt Ny anslutning anger du anslutningsinformationen till SQL Server-instansen.
- Server: Den fullständigt kvalificerade sökvägen för servernamnet som Fabric använder för att nå din SQL Server-instans, samma som du skulle använda för SSMS.
 
Tips/Råd
SQL Server-instanser i en AlwaysOn-tillgänglighetsgrupp använder alltid på-lyssnaren för server. Om SQL Server körs i en konfiguration av en redundansklusterinstans använder du det virtuella nätverksnamnet för server.
- 
              Databas: Ange namnet på din SQL Server.
- Anslutning: Skapa ny anslutning.
 - Anslutningsnamn: Ett automatiskt namn anges. Du kan ändra det.
 - Datagateway: Välj den lokala datagateway som du har konfigurerat enligt ditt scenario.
 - Typ av autentisering: Välj autentiseringsmetod och ange det huvudnamn som du konfigurerade i Använda en inloggnings- och mappad databasanvändare.
 - Markera kryssrutan Använd krypterad anslutning .
 
 
Välj Anslut.
Viktigt!
All detaljerad säkerhet som upprättas i källdatabasen måste konfigureras om i den speglade databasen i Microsoft Fabric. Mer information finns i How to: Secure data Microsoft Fabric mirrored databases From SQL Server (Skydda data, Microsoft Fabric-speglade databaser från SQL Server).
Starta speglingsprocessen
På skärmen Konfigurera spegling kan du som standard spegla alla data i databasen.
Spegla alla data innebär att alla nya tabeller som skapas när speglingen har startats speglas.
Du kan också välja endast vissa objekt som ska speglas. Inaktivera alternativet Spegla alla data och välj sedan enskilda tabeller från databasen.
I denna handledning väljer vi alternativet Spegla alla data.
Välj Skapa speglad databas. Speglingsprocessen börjar.
Vänta i 2–5 minuter. Välj sedan Övervaka replikering för att se statusen.
Efter några minuter bör statusen ändras till Körs, vilket innebär att tabellerna synkroniseras.
Om du inte ser tabellerna och motsvarande replikeringsstatus väntar du några sekunder och uppdaterar sedan panelen.
När de har slutfört den första kopieringen av tabellerna visas ett datum i kolumnen Senaste uppdatering .
Nu när dina data är aktiverade finns det flera analysscenarier tillgängliga i hela Fabric.
Övervaka tygspegling
När speglingen har konfigurerats dirigeras du till sidan Speglingsstatus . Här kan du övervaka det aktuella replikeringstillståndet.
Mer information om replikeringstillstånden finns i Övervaka speglad databasreplikering i Monitor Fabric.
              
              
              
              
            
Verifiera data i OneLake
När Fabric Mirroring är igång kan du nu fråga från din SQL Server-databas i Microsoft Fabric. Mer information finns i Utforska data i din speglade databas med Microsoft Fabric.
Prestandaoptimering
Nu när speglingen är igång får du lära dig hur du optimerar prestandan för källdatabasen och den speglade databasen från SQL Server i Microsoft Fabric.