Menyinkronkan replika peluasan skala
Artikel ini menjelaskan cara menyinkronkan replika peluasan skala model semantik dengan menggunakan PowerShell di baris perintah atau berdasarkan skrip.
Saat Anda bekerja melawan model semantik baca-tulis utama, dan pengguna model semantik menggunakan replika baca-saja, Anda dapat melakukan pembaruan dan refresh metadata model semantik tanpa memengaruhinya. Namun, perubahan pada model semantik dan refresh terjadi dalam model semantik utama. Untuk menyalin perubahan ke replika baca-saja, perubahan harus disinkronkan dengan model semantik baca-tulis.
Secara default, autoSyncReadOnlyReplicas
parameter diatur ke true
- Power BI menyinkronkan replika secara otomatis. Anda dapat menonaktifkan sinkronisasi otomatis dengan mengatur autoSyncReadOnlyReplicas
ke false
. Namun, Anda dapat memilih untuk menyinkronkan secara manual dengan menggunakan syncStatus
DAN sync
REST API.
Untuk memeriksa status sinkronisasi replika Anda, gunakan SyncStatus
REST API. Artikel ini menjelaskan perintah PowerShell untuk menggunakan API ini.
Memeriksa status sinkronisasi replika
###
# Check the scale-out replica sync status
###
Login-PowerBI | Out-Null
$workspaceId = '<enter workspaceId>'
$datasetId = Get-PowerBIDataset -WorkspaceId $workspaceId `
| Where{$_.Name -match "<enter semantic model name>"} `
| Select-Object -ExpandProperty Id -First 1 `
| ForEach-Object {$_.Guid}
$response = Invoke-PowerBIRestMethod -Url "groups/$workspaceId/datasets/$datasetId/queryScaleOut/syncStatus" -Method Get | ConvertFrom-Json
$response | Format-List
if ($response.commitVersion -eq $response.minActiveReadVersion)
{
Write-Host "Semantic model read-write and read-only replicas are in sync."
}
else
{
Write-Host "Semantic model read-write and read-only replicas are not in sync." -ForegroundColor Red
}
Jika API status sinkronisasi mengembalikan respons kosong atau jika scaleOutStatus diatur ke "Tidak Tersedia", coba muat replika baca-tulis model semantik atau lakukan refresh pada model untuk mendapatkan status sinkronisasi terbaru.
Untuk mempelajari selengkapnya, lihat Himpunan Data - Dapatkan Status Sinkronisasi Peluasan Skala Kueri Dalam Grup di referensi Power BI REST API.
Menonaktifkan sinkronisasi replika otomatis
###
# Disable automatic scale-out replica sync
###
Login-PowerBI | Out-Null
$workspaceId = '<enter workspaceId>'
$datasetId = Get-PowerBIDataset -WorkspaceId $workspaceId `
| Where{$_.Name -match "<enter semantic model name>"} `
| Select-Object -ExpandProperty Id -First 1 `
| ForEach-Object {$_.Guid}
Invoke-PowerBIRestMethod -Url "groups/$workspaceId/datasets/$datasetId" `
-Method Patch -Body '{ "queryScaleOutSettings": { "autoSyncReadOnlyReplicas": false }}'
Invoke-PowerBIRestMethod -Url "groups/$workspaceId/datasets/$datasetId" -Method Get `
| ConvertFrom-Json | Select-Object -ExpandProperty queryScaleOutSettings `
| ForEach {
if($_.autoSyncReadOnlyReplicas -eq $false)
{
Write-Host "Success! Automatic replica synchronization has been disabled."
} else
{
Write-Host "Something went wrong! Automatic replica synchronization is still enabled." -ForegroundColor Red
}
}
Melakukan sinkronisasi replika manual (skrip)
###
# Perform a manual replica sync
###
Login-PowerBI | Out-Null
$workspaceId = '<enter workspaceId>'
$datasetId = Get-PowerBIDataset -WorkspaceId $workspaceId `
| Where{$_.Name -match "<enter semantic model name>"} `
| Select-Object -ExpandProperty Id -First 1 `
| ForEach-Object {$_.Guid}
$response = Invoke-PowerBIRestMethod -Url "groups/$workspaceId/datasets/$datasetId/queryScaleOut/sync" -Method Post -Body "" | ConvertFrom-Json
Write-Host 'Synchronizing the scale-out replicas...' -NoNewLine
while ($response.commitVersion -ne $response.minActiveReadVersion)
{
Write-Host '.' -NoNewLine
Start-Sleep -Seconds 10
$response = Invoke-PowerBIRestMethod -Url "groups/$workspaceId/dataset/$datasetId/queryScaleOut/syncStatus" -Method Get | ConvertFrom-Json
}
Write-Host 'Completed'
$response
Untuk mempelajari selengkapnya, lihat Himpunan Data - Memicu Sinkronisasi Peluasan Skala Kueri Dalam Grup di referensi Power BI REST API.
Melakukan sinkronisasi replika manual (baris perintah)
Ikuti langkah-langkah ini untuk menyinkronkan replika dengan menggunakan Windows PowerShell:
Buka PowerShell dan masuk ke Power BI dengan menjalankan perintah ini:
Login-PowerBI
Dapatkan ID ruang kerja Anda dengan menjalankan perintah di bawah ini. Ganti
<WorkspaceName>
dengan nama ruang kerja Anda.Get-PowerBIWorkspace -Name "<WorkspaceName>" # Replace <WorkspaceName> with the name of your workspace
Dapatkan Id model semantik dengan menjalankan perintah di bawah ini. Ganti
<WorkspaceId>
dengan Id ruang kerja Anda.Get-PowerBIDataset -WorkspaceId "<WorkspaceId>" # Replace <WorkspaceId> with the Id of your workspace
Periksa status sinkronisasi model semantik Anda dengan menggunakan perintah di bawah ini. Ganti nilai
<WorkspaceId>
dan<DatasetId>
yang sesuai.Invoke-PowerBIRestMethod -Url 'groups/<WorkspaceId>/datasets/<DatasetId>/queryScaleOut/syncStatus' -Method Get | ConvertFrom-Json | Format-List # Replace <WorkspaceId> with the Id of your workspace and <DatasetId> with the Id of your semantic model
Dalam output,
minActiveReadVersion
nilai danminActiveReadTimestamp
merujuk ke replika baca-saja. NilaicommitVersion
dancommitTimestamp
, lihat model semantik baca-tulis. Perbedaan di antara mereka, menunjukkan replika baca-saja mewakili versi model semantik yang lebih lama.Sinkronkan model semantik baca-tulis dan replika baca-saja dengan menggunakan perintah berikut. Ganti nilai
<WorkspaceId>
dan<DatasetId>
yang sesuai.Invoke-PowerBIRestMethod -Url 'groups/<WorkspaceId>/datasets/<DatasetId>/queryScaleOut/sync' -Method Post -Body "" | ConvertFrom-Json | Format-List # Replace <WorkspaceId> with the Id of your workspace and <DatasetId> with the Id of your semantic model
Informasi status sinkronisasi dalam output menunjukkan model semantik baca-tulis dan replika baca-saja tidak sinkron, yang diharapkan karena Anda baru saja memicu sinkronisasi.
Untuk memverifikasi sinkronisasi selesai, jalankan
syncStatus
perintah di langkah 4 lagi. Anda mungkin perlu menjalankan perintah beberapa kali tergantung pada lamanya waktu yang diperlukan untuk menyinkronkan salinan model semantik. Saat sinkronisasi selesai, periksa nilaisyncStartTime
dansyncEndTime
untuk melihat berapa lama sinkronisasi berlangsung.
Untuk mempelajari selengkapnya, lihat Himpunan Data - Memicu Sinkronisasi Peluasan Skala Kueri Dalam Grup di referensi Power BI REST API.
Konten terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk