Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:✅databáze SQL v Microsoft Fabric
Můžete použít Fabric REST API ke spuštění a zastavení zrcadlení z databáze SQL do OneLake ve službě Fabric. Tento článek a ukázkový skript ukazují, jak používat PowerShell k volání Fabric REST API pro spuštění nebo zastavení zrcadlení.
Zrcadlení databáze SQL na OneLake je ve výchozím nastavení vždy spuštěné. Existují situace, kdy může být potřeba zastavit zrcadlení databáze SQL ve Fabric. Pokud chcete například povolit vytváření clusterovaných indexů sloupců v existující tabulce, které nelze vytvořit při spuštění zrcadlení.
Požadavky
- Potřebujete existující kapacitu Fabric. Pokud ne, spusťte zkušební verzi Fabric.
- Můžete použít existující pracovní prostor nebo vytvořit nový pracovní prostor Infrastruktury.
- Abyste mohli vytvořit databázi SQL, musíte být členem role správce nebo člena pracovního prostoru .
- Nainstalujte golang verzi SQLCMD. Spusťte
winget install sqlcmdwindows a nainstalujte ho. Další operační systémy najdete v tématu aka.ms/go-sqlcmd. - PowerShell 5.1 nebo PowerShell 7.4 a novější
- Modul Az PowerShell. Spusťte
Install-Module azv PowerShellu a nainstalujte ho.
Zastavení zrcadlení databáze SQL do OneLake ve Fabricu
Následující skripty PowerShellu zastaví zrcadlení SQL databáze na OneLake v averzi Fabric.
Tento ukázkový skript používá Connect-AzAccount, což je alias pro az login, k výzvě k zadání přihlašovacích údajů. Tyto přihlašovací údaje používá k získání přístupového tokenu, který se použije pro volání rozhraní REST API. SQLCMD používá kontext účtu, který byl předán Connect-AzAccount.
V následujícím skriptu musíte zadat ID pracovního prostoru a ID databáze. Obě se dají najít v adrese URL.
https://powerbi.com/groups/<fabric_workspace_id>/sqldatabases/<fabric_sql_database_id>. Prvním řetězcem v adrese URL je ID pracovního prostoru Fabric a druhým řetězcem je ID databáze SQL.
- Nahraďte
<your workspace id>ID pracovního prostoru Fabric. ID pracovního prostoru můžete snadno najít v adrese URL. Jedná se o jedinečný řetězec uvnitř dvou/znaků za/groups/oknem prohlížeče. - Nahraďte
<your database id>vaší SQL databází v rámci identifikátoru databáze Fabric. ID položky databáze můžete snadno najít v adrese URL, jedná se o jedinečný řetězec uvnitř dvou/znaků za/sqldatabases/oknem prohlížeče.
Tento skript ukazuje:
- Přístupový token načtěte pomocí Get-AzAccessToken a jej převedete ze zabezpečeného řetězce. Pokud používáte verzi PowerShell 7, ConvertFrom-SecureString je také jednou z možností.
- Sestavení volání rozhraní API
- Vyvolání volání rozhraní API
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)
}
Zahájit zrcadlení databáze SQL do OneLake ve Fabricu
Následující příklady PowerShellu spustí zrcadlení databáze SQL do OneLake v platformě Fabric.
Tento ukázkový skript používá Connect-AzAccount, což je alias pro az login, k výzvě k zadání přihlašovacích údajů. Tyto přihlašovací údaje používá k získání přístupového tokenu, který se použije pro volání rozhraní REST API. SQLCMD používá kontext účtu, který byl předán Connect-AzAccount.
V tomto skriptu nahraďte <your workspace id> za ID vašeho pracovního prostoru Fabric. ID pracovního prostoru můžete snadno najít v adrese URL. Jedná se o jedinečný řetězec uvnitř dvou / znaků za /groups/ oknem prohlížeče. Například 11aa111-a11a-1111-1abc-aa1111aaaa v https://fabric.microsoft.com/groups/11aa111-a11a-1111-1abc-aa1111aaaa/.
Tento skript ukazuje:
- Přístupový token načtěte pomocí Get-AzAccessToken a jej převedete ze zabezpečeného řetězce. Pokud používáte verzi PowerShell 7, ConvertFrom-SecureString je také jednou z možností.
- Sestavení volání rozhraní API
- Vyvolání volání rozhraní API
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)
}