Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:✅Database SQL di Microsoft Fabric
Anda dapat menggunakan Fabric REST API untuk memulai dan menghentikan proses pencerminan dari database SQL ke OneLake di Fabric. Artikel ini dan contoh skrip menunjukkan cara menggunakan PowerShell untuk memanggil Fabric REST API memulai atau berhenti mencerminkan.
Pencerminan database SQL ke OneLake selalu berjalan, secara bawaan. Ada skenario di mana pencerminan untuk database SQL di Fabric mungkin perlu dihentikan. Misalnya, untuk mengaktifkan pembuatan indeks kolom berkluster pada tabel yang ada, yang tidak dapat dibuat saat pencerminan berjalan.
Prasyarat
- Anda memerlukan kapasitas Fabric yang sudah ada. Jika tidak, mulailah uji coba Fabric.
- Anda dapat menggunakan ruang kerja yang ada atau membuat ruang kerja Fabric baru.
- Anda harus menjadi anggota peran Admin atau Anggota untuk ruang kerja guna membuat database SQL.
- Instal versi golang SQLCMD. Jalankan
winget install sqlcmdpada Windows untuk menginstal. Untuk sistem operasi lainnya, lihat aka.ms/go-sqlcmd. - PowerShell 5.1 atau PowerShell 7.4 dan yang lebih tinggi
- Modul Az PowerShell. Jalankan
Install-Module azdi PowerShell untuk menginstal.
Hentikan pencerminan database SQL ke OneLake di Fabric
Contoh PowerShell berikut menghentikan pencerminan database SQL ke OneLake di Fabric.
Contoh skrip ini menggunakan Connect-AzAccount, alias az login untuk meminta kredensial. Ini menggunakan kredensial tersebut untuk mendapatkan token akses yang akan digunakan untuk panggilan REST API. SQLCMD menggunakan konteks akun yang diberikan kepada Connect-AzAccount.
Dalam skrip berikut, Anda perlu memberikan ID ruang kerja dan ID database. Keduanya dapat ditemukan di URL.
https://powerbi.com/groups/<fabric_workspace_id>/sqldatabases/<fabric_sql_database_id>. String pertama dalam URL adalah ID ruang kerja Fabric, dan string kedua adalah ID database SQL.
- Ganti
<your workspace id>dengan ID ruang kerja Fabric Anda. Anda dapat menemukan ID ruang kerja dengan mudah di URL, yang merupakan rangkaian unik antara dua karakter/setelah/groups/di jendela penelusur Anda. - Ganti
<your database id>dengan database SQL Anda di ID database Fabric. Anda dapat menemukan ID item database dengan mudah di URL, ini adalah string unik di dalam dua/karakter setelah/sqldatabases/di jendela browser Anda.
- PowerShell 5.1
- PowerShell 7.4+
Skrip ini menunjukkan:
- Ambil token akses menggunakan Get-AzAccessToken dan mengonversinya dari string aman. Jika menggunakan PowerShell 7, ConvertFrom-SecureString juga merupakan opsi.
- Merakit panggilan API.
- Panggil panggilan 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)
}
Mulai mereplikasi database SQL ke OneLake dalam Fabric
Contoh PowerShell berikut memulai proses pencerminan database SQL ke OneLake di Fabric.
Contoh skrip ini menggunakan Connect-AzAccount, alias az login untuk meminta kredensial. Ini menggunakan kredensial tersebut untuk mendapatkan token akses yang akan digunakan untuk panggilan REST API. SQLCMD menggunakan konteks akun yang diberikan kepada Connect-AzAccount.
Dalam skrip berikut, ganti <your workspace id> dengan ID ruang kerja Fabric Anda. Anda dapat menemukan ID ruang kerja dengan mudah di URL, yang merupakan rangkaian unik antara dua karakter / setelah /groups/ di jendela penelusur Anda. Misalnya, 11aa111-a11a-1111-1abc-aa1111aaaa di https://fabric.microsoft.com/groups/11aa111-a11a-1111-1abc-aa1111aaaa/.
- PowerShell 5.1
- PowerShell 7.4+
Skrip ini menunjukkan:
- Ambil token akses menggunakan Get-AzAccessToken dan mengonversinya dari string aman. Jika menggunakan PowerShell 7, ConvertFrom-SecureString juga merupakan opsi.
- Merakit panggilan API.
- Panggil panggilan 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)
}