Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Van toepassing op:✅SQL-database in Microsoft Fabric
U kunt de REST API van Fabric gebruiken om spiegeling van een SQL-database naar de OneLake in Fabric te starten en stoppen. In dit artikel en voorbeeldscript ziet u hoe u PowerShell kunt gebruiken om de REST API van Fabric aan te roepen voor het starten of stoppen van spiegeling.
SQL-databasespiegeling naar OneLake wordt standaard altijd uitgevoerd. Er zijn scenario's waarin spiegeling voor SQL Database in Fabric mogelijk moet worden gestopt. Als u bijvoorbeeld het maken van geclusterde kolomindexen voor een bestaande tabel wilt inschakelen, die niet kunnen worden gemaakt wanneer spiegeling wordt uitgevoerd.
Vereiste voorwaarden
- Je hebt een bestaande Fabric-capaciteit nodig. Als u dat niet doet, start u een Fabric-proefversie.
- U kunt een bestaande werkruimte gebruiken of een nieuwe Fabric-werkruimte maken.
- U moet lid zijn van de beheerders- of lidrollen voor de werkruimte om een SQL-database te maken.
- Installeer de golang-versie van SQLCMD. Voer
winget install sqlcmduit op Windows om te installeren. Zie aka.ms/go-sqlcmd voor andere besturingssystemen. - PowerShell 5.1 of PowerShell 7.4 en hoger
- De Az PowerShell-module. Voer
Install-Module azuit in PowerShell om te installeren.
Het spiegelen van een SQL-database naar OneLake in Fabric stoppen
De volgende PowerShell-voorbeelden stoppen met het spiegelen van een SQL-database naar OneLake in Fabric.
In dit voorbeeldscript wordt Connect-AzAccount gebruikt als een alias van az login om om referenties te vragen. Deze referenties worden gebruikt om een toegangstoken te verkrijgen dat moet worden gebruikt voor de REST API-aanroepen. SQLCMD maakt gebruik van de context van het account dat is gegeven aan Connect-AzAccount.
In het volgende script moet u de werkruimte-id en database-id opgeven. Beide zijn te vinden in de URL.
https://powerbi.com/groups/<fabric_workspace_id>/sqldatabases/<fabric_sql_database_id>. De eerste tekenreeks in de URL is de Fabric-werkruimte-id en de tweede tekenreeks is de SQL-database-id.
- Vervang
<your workspace id>door de ID van uw Fabric-werkruimte. U kunt de id van een werkruimte gemakkelijk vinden in de URL. Dit is de unieke tekenreeks binnen twee/tekens na/groups/in uw browservenster. - Vervang
<your database id>door uw SQL-database in Fabric-database-ID. U kunt de id van het database-item gemakkelijk vinden in de URL. Dit is de unieke tekenreeks binnen twee/tekens na/sqldatabases/in uw browservenster.
Dit script demonstreert:
- Haal een toegangstoken op met behulp van Get-AzAccessToken en converteer het vanuit een beveiligde tekenreeks. Als u PowerShell 7 gebruikt, is ConvertFrom-SecureString- ook een optie.
- Api-aanroep samenstellen.
- Api-aanroep aanroepen.
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)
}
Beginnen met spiegelen van SQL-database naar OneLake in Fabric
In de volgende PowerShell-voorbeelden wordt het spiegelen van een SQL-database naar OneLake in Fabric gestart.
In dit voorbeeldscript wordt Connect-AzAccount gebruikt als een alias van az login om om referenties te vragen. Deze referenties worden gebruikt om een toegangstoken te verkrijgen dat moet worden gebruikt voor de REST API-aanroepen. SQLCMD maakt gebruik van de context van het account dat is gegeven aan Connect-AzAccount.
Vervang in het volgende script <your workspace id> door uw Fabric-werkruimte-ID. U kunt de id van een werkruimte gemakkelijk vinden in de URL. Dit is de unieke tekenreeks binnen twee / tekens na /groups/ in uw browservenster. Bijvoorbeeld 11aa111-a11a-1111-1abc-aa1111aaaa in https://fabric.microsoft.com/groups/11aa111-a11a-1111-1abc-aa1111aaaa/.
Dit script demonstreert:
- Haal een toegangstoken op met behulp van Get-AzAccessToken en converteer het vanuit een beveiligde tekenreeks. Als u PowerShell 7 gebruikt, is ConvertFrom-SecureString- ook een optie.
- Api-aanroep samenstellen.
- Api-aanroep aanroepen.
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)
}