Bemærk
Adgang til denne side kræver godkendelse. Du kan prøve at logge på eller ændre mapper.
Adgang til denne side kræver godkendelse. Du kan prøve at ændre mapper.
Gælder for:✅SQL-database i Microsoft Fabric
Du kan bruge Fabric REST API til at starte og stoppe spejling fra en SQL-database til OneLake i Fabric. Denne artikel og dette eksempelscript viser, hvordan du bruger PowerShell til at kalde Fabric REST API start eller stop spejling.
SQL-databasespejling til OneLake kører som standard altid. Der er scenarier, hvor spejling for SQL-database i Fabric muligvis skal stoppes. Du kan f.eks. aktivere oprettelse af grupperede kolonneindekser i en eksisterende tabel, som ikke kan oprettes, når spejling kører.
Forudsætninger
- Du har brug for en eksisterende Fabric-kapacitet. Hvis du ikke gør det, skal du starte en Fabric-prøveversion.
- Du kan bruge et eksisterende arbejdsområde eller oprette et nyt Fabric-arbejdsområde.
- Du skal være medlem af rollerne Administrator eller Medlem for arbejdsområdet for at oprette en SQL-database.
- Installér golangversionen af SQLCMD. Kør
winget install sqlcmdpå Windows for at installere. Du kan se andre operativsystemer under aka.ms/go-sqlcmd. - PowerShell 5.1 eller PowerShell 7.4 eller nyere
- Az PowerShell-modulet. Kør
Install-Module azi PowerShell for at installere.
Stop spejling af SQL-database til OneLake i Fabric
Følgende PowerShell-eksempler stopper spejling af en SQL-database til OneLake i Fabric.
Dette eksempelscript bruger Connect-AzAccount, som er et alias az login for til at bede om legitimationsoplysninger. Den bruger disse legitimationsoplysninger til at hente et adgangstoken, der skal bruges til REST API-kald. SQLCMD bruger konteksten for den konto, der blev givet til Connect-AzAccount.
I følgende script skal du angive arbejdsområde-id'et og database-id'et. Begge kan findes i URL'en.
https://powerbi.com/groups/<fabric_workspace_id>/sqldatabases/<fabric_sql_database_id>. Den første streng i URL-adressen er arbejdsområde-id'et for strukturen, og den anden streng er SQL-database-id'et.
- Erstat
<your workspace id>med dit Fabric-arbejdsområde-id. Du kan nemt finde id'et for et arbejdsområde i URL-adressen. Det er den entydige streng inden for to/tegn efter/groups/i browservinduet. - Erstat
<your database id>med din SQL-database i Fabric-database-id. Du kan nemt finde ID'et for databaseelementet i URL'en, det er den unikke streng inde i to/tegn efter/sqldatabases/i dit browservindue.
Dette script viser:
- Hent et adgangstoken ved hjælp af Get-AzAccessToken-, og konvertere det fra en sikker streng. Hvis du bruger PowerShell 7, er ConvertFrom-SecureString- også en mulighed.
- Saml API-kald.
- Påkald API-kald.
Import-Module Az.Accounts
az login
$workspaceid = '<your workspace id>' # Find in the URL
$databaseid = '<your database id>' # Find in the URL
$headers = $null
# 1. Get the access token and add it to the headers
$access_token = (Get-AzAccessToken -AsSecureString -ResourceUrl https://api.fabric.microsoft.com)
$ssPtr = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($access_token.Token)
try {
$headers = @{
Authorization = $access_token.Type + ' ' + ([System.Runtime.InteropServices.Marshal]::PtrToStringBSTR($ssPtr))
}
$access_token.UserId -match('^[^@]+') | Out-Null
$stopMirroringUri = "https://api.fabric.microsoft.com/v1/workspaces/$workspaceid/sqlDatabases/$databaseid/stopMirroring"
$parameters = @{
Method="Post"
Headers=$headers
Uri = $stopMirroringUri
}
Invoke-RestMethod @parameters -ErrorAction Stop
} finally {
# The following lines ensure that sensitive data is not left in memory.
$headers = [System.Runtime.InteropServices.Marshal]::ZeroFreeBSTR($ssPtr)
}
Start spejling af SQL-database til OneLake i Fabric
Følgende PowerShell-eksempler starter spejling af en SQL-database til OneLake i Fabric.
Dette eksempelscript bruger Connect-AzAccount, som er et alias az login for til at bede om legitimationsoplysninger. Den bruger disse legitimationsoplysninger til at hente et adgangstoken, der skal bruges til REST API-kald. SQLCMD bruger konteksten for den konto, der blev givet til Connect-AzAccount.
I følgende script skal du erstatte <your workspace id> med dit Fabric-arbejdsområde-id. Du kan nemt finde id'et for et arbejdsområde i URL-adressen. Det er den entydige streng inden for to / tegn efter /groups/ i browservinduet. I f.eks 11aa111-a11a-1111-1abc-aa1111aaaa . i https://fabric.microsoft.com/groups/11aa111-a11a-1111-1abc-aa1111aaaa/.
Dette script viser:
- Hent et adgangstoken ved hjælp af Get-AzAccessToken-, og konvertere det fra en sikker streng. Hvis du bruger PowerShell 7, er ConvertFrom-SecureString- også en mulighed.
- Saml API-kald.
- Påkald API-kald.
Import-Module Az.Accounts
az login
$workspaceid = '<your workspace id>' # Find in the URL
$databaseid = '<your database id>' # Find in the URL
$headers = $null
# 1. Get the access token and add it to the headers
$access_token = (Get-AzAccessToken -AsSecureString -ResourceUrl https://api.fabric.microsoft.com)
$ssPtr = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($access_token.Token)
try {
$headers = @{
Authorization = $access_token.Type + ' ' + ([System.Runtime.InteropServices.Marshal]::PtrToStringBSTR($ssPtr))
}
$access_token.UserId -match('^[^@]+') | Out-Null
$startMirroringUri = "https://api.fabric.microsoft.com/v1/workspaces/$workspaceid/sqlDatabases/$databaseid/startMirroring"
$parameters = @{
Method="Post"
Headers=$headers
Uri = $startMirroringUri
}
Invoke-RestMethod @parameters -ErrorAction Stop
} finally {
# The following lines ensure that sensitive data is not left in memory.
$headers = [System.Runtime.InteropServices.Marshal]::ZeroFreeBSTR($ssPtr)
}