Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:✅Baza danych SQL w usłudze Microsoft Fabric
Interfejs Fabric REST API pozwala na uruchamianie i zatrzymywanie replikacji z bazy danych SQL do OneLake w Fabric. W tym artykule i przykładowym skrypcie pokazano, jak za pomocą programu PowerShell wywołać interfejs Fabric REST API w celu rozpoczęcia lub zatrzymania dublowania.
Dublowanie bazy danych SQL w usłudze OneLake jest zawsze uruchomione. Istnieją scenariusze, w których może być konieczne zatrzymanie mirroringu bazy danych SQL w Fabric. Aby na przykład włączyć tworzenie klastrowanych indeksów kolumn w istniejącej tabeli, których nie można utworzyć podczas dublowania.
Wymagania wstępne
- Potrzebujesz istniejącej przepustowości Fabryki. Jeśli tego nie zrobisz, uruchom wersję próbną usługi Fabric.
- Możesz użyć istniejącego obszaru roboczego lub utworzyć nowy obszar roboczy usługi Fabric.
- Aby utworzyć bazę danych SQL, musisz być członkiem ról administratora lub członka obszaru roboczego .
- Zainstaluj wersję języka golang programu SQLCMD. Uruchom polecenie
winget install sqlcmdw systemie Windows, aby zainstalować. W przypadku innych systemów operacyjnych zobacz aka.ms/go-sqlcmd. - PowerShell 5.1 lub PowerShell 7.4 lub nowszy
- Moduł Az programu PowerShell. Uruchom polecenie
Install-Module azw programie PowerShell, aby zainstalować.
Zatrzymywanie dublowania bazy danych SQL w usłudze OneLake w sieci szkieletowej
Poniższe przykłady programu PowerShell zaprzestają replikacji bazy danych SQL do OneLake na Fabric.
W tym przykładowym skrypcie użyto Connect-AzAccount, aliasu dla az login, aby wyświetlić monit o podanie poświadczeń. Używa tych poświadczeń do uzyskania tokenu dostępu do użycia na potrzeby wywołań interfejsu API REST. SQLCMD używa kontekstu konta, które zostało przypisane do Connect-AzAccount.
W poniższym skrypsie należy podać identyfikator obszaru roboczego i identyfikator bazy danych. Oba można znaleźć w adresie URL.
https://powerbi.com/groups/<fabric_workspace_id>/sqldatabases/<fabric_sql_database_id>. Pierwszy ciąg w adresie URL to identyfikator obszaru roboczego Fabric, a drugi ciąg to identyfikator bazy danych SQL.
- Zastąp
<your workspace id>identyfikatorem obszaru roboczego Fabric. Identyfikator obszaru roboczego można łatwo znaleźć w adresie URL. Jest to unikatowy ciąg w dwóch/znakach po/groups/w oknie przeglądarki. - Zastąp
<your database id>swoją bazą danych SQL w identyfikatorze bazy danych Fabric. Identyfikator elementu bazy danych można łatwo znaleźć w adresie URL. Jest to unikatowy ciąg w dwóch/znakach po/sqldatabases/w oknie przeglądarki.
Ten skrypt pokazuje:
- Pobierz token dostępu przy użyciu Get-AzAccessToken i przekonwertuj go z bezpiecznego ciągu. Jeśli używasz programu PowerShell 7, ConvertFrom-SecureString jest również opcją.
- Utwórz wywołanie API.
- Wywołaj interfejs 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)
}
Rozpocznij mirroring bazy danych SQL do OneLake w Fabric
W poniższych przykładach programu PowerShell rozpoczyna się mirroring bazy danych SQL do OneLake na platformie Fabric.
W tym przykładowym skrypcie użyto Connect-AzAccount, aliasu dla az login, aby wyświetlić monit o podanie poświadczeń. Używa tych poświadczeń do uzyskania tokenu dostępu do użycia na potrzeby wywołań interfejsu API REST. SQLCMD używa kontekstu konta, które zostało przypisane do Connect-AzAccount.
W poniższym skrypcie zastąp <your workspace id> element identyfikatorem obszaru roboczego usługi Fabric. Identyfikator obszaru roboczego można łatwo znaleźć w adresie URL. Jest to unikatowy ciąg w dwóch / znakach po /groups/ w oknie przeglądarki. Na przykład 11aa111-a11a-1111-1abc-aa1111aaaa w https://fabric.microsoft.com/groups/11aa111-a11a-1111-1abc-aa1111aaaa/.
Ten skrypt pokazuje:
- Pobierz token dostępu przy użyciu Get-AzAccessToken i przekonwertuj go z bezpiecznego ciągu. Jeśli używasz programu PowerShell 7, ConvertFrom-SecureString jest również opcją.
- Wywołanie interfejsu API asemblera.
- Wywołaj połączenie 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)
}