Menggunakan PowerShell untuk memperbarui skema sinkronisasi di grup sinkronisasi yang sudah ada

Berlaku untuk:Azure SQL Database

Contoh Microsoft Azure PowerShell ini memperbarui skema sinkronisasi di grup sinkronisasi Sinkronisasi Data SQL yang sudah ada. Saat Anda menyinkronkan beberapa tabel, skrip ini membantu Anda memperbarui skema sinkronisasi secara efisien. Contoh ini menunjukkan penggunaan skrip UpdateSyncSchema yang tersedia di GitHub sebagai UpdateSyncSchema.ps1.

Jika Anda tidak memiliki langganan Azure, buat akun Azure gratis sebelum memulai.

Catatan

Artikel ini menggunakan modul Azure Az PowerShell, yang merupakan modul PowerShell yang direkomendasikan untuk berinteraksi dengan Azure. Untuk mulai menggunakan modul Az PowerShell, lihat Menginstal Azure PowerShell. Untuk mempelajari cara bermigrasi ke modul Az PowerShell, lihat Memigrasikan Azure PowerShell dari AzureRM ke Az.

Menggunakan Azure Cloud Shell

Azure meng-hosting Azure Cloud Shell, lingkungan shell interaktif yang dapat Anda gunakan melalui browser. Anda dapat menggunakan Bash atau PowerShell dengan Cloud Shell untuk bekerja dengan layanan Azure. Anda dapat menggunakan perintah Cloud Shell yang telah diinstal sebelumnya untuk menjalankan kode dalam artikel ini tanpa harus menginstal apa-apa di lingkungan lokal Anda.

Untuk memulai Azure Cloud Shell:

Opsi Contoh/Tautan
Pilih Coba di sudut kanan atas blok kode. Memilih Coba tidak secara otomatis menyalin kode ke Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Buka https://shell.azure.com, atau pilih tombol Luncurkan Cloud Shell untuk membuka Cloud Shell di browser Anda. Screenshot that shows how to launch Cloud Shell in a new window.
Pilih tombol Cloud Shell pada bilah menu di kanan atas di portal Microsoft Azure. Screenshot that shows the Cloud Shell button in the Azure portal

Untuk menjalankan kode dalam artikel ini di Azure Cloud Shell:

  1. Mulai Cloud Shell.

  2. Pilih tombol Salin pada blok kode untuk menyalin kode.

  3. Tempelkan kode tersebut ke sesi Cloud Shell dengan memilih Ctrl+Shift+V untuk Windows dan Linux, atau dengan memilih Cmd+Shift+V untuk macOS.

  4. Pilih Enter untuk menjalankan kode.

Jika Anda memilih untuk memasang dan menggunakan PowerShell secara lokal, tutorial ini memerlukan Az PowerShell 1.4.0 atau yang lebih baru. Jika Anda perlu peningkatan, lihat Instal modul Azure PowerShell. Jika Anda menjalankan PowerShell secara lokal, Anda juga perlu menjalankan Connect-AzAccount untuk membuat koneksi dengan Azure.

Untuk melihat ringkasan Sinkronisasi Data SQL, lihat Menyinkronkan data di beberapa cloud dan database lokal dengan Sinkronisasi Data Azure SQL.

Penting

SQL Data Sync tidak mendukung Azure SQL Managed Instance pada saat ini.

Contoh

Menambahkan semua tabel ke skema sinkronisasi

Contoh berikut ini me-refresh skema database dan menambahkan semua tabel yang valid di database hub ke skema sinkronisasi.

UpdateSyncSchema.ps1 -SubscriptionId <subscriptionId> -ResourceGroupName <resourceGroupName> -ServerName <serverName> -DatabaseName <databaseName> `
    -SyncGroupName <syncGroupName> -RefreshDatabaseSchema $true -AddAllTables $true

Menambahkan dan menghapus tabel dan kolom

Contoh berikut menambahkan [dbo].[Table1] dan [dbo].[Table2].[Column1] ke skema sinkronisasi dan menghapus [dbo].[Table3].

UpdateSyncSchema.ps1 -SubscriptionId <subscriptionId> -ResourceGroupName <resourceGroupName> -ServerName <serverName> -DatabaseName <databaseName> `
    -SyncGroupName <syncGroupName> -TablesAndColumnsToAdd "[dbo].[Table1],[dbo].[Table2].[Column1]" -TablesAndColumnsToRemove "[dbo].[Table3]"

Parameter skrip

Skrip UpdateSyncSchema memiliki parameter berikut:

Parameter Catatan
$subscriptionId Langganan tempat grup sinkronisasi dibuat.
$resourceGroupName Grup sumber daya tempat grup sinkronisasi dibuat.
$serverName Nama server database hub.
$databaseName Nama database hub.
$syncGroupName Nama grup sinkronisasi.
$memberName Menetapkan nama anggota jika Anda ingin memuat skema database dari anggota sinkronisasi, bukan dari database hub. Jika Anda ingin memuat skema database dari hub, biarkan parameter ini kosong.
$timeoutInSeconds Waktu habis saat skrip me-refresh skema database. Defaultnya adalah 900 detik.
$refreshDatabaseSchema Menentukan apakah skrip perlu me-refresh skema database. Jika skema database Anda berbeda dari konfigurasi sebelumnya (misalnya, jika Anda menambahkan tabel baru atau kolom baru), Anda perlu me-refresh skema tersebut sebelum mengonfigurasinya ulang. Defaultnya adalah false.
$addAllTables Jika nilai ini benar, semua tabel dan kolom yang valid akan ditambahkan ke skema sinkronisasi. Nilai $TablesAndColumnsToAdd dan $TablesAndColumnsToRemove diabaikan.
$tablesAndColumnsToAdd Menentukan tabel atau kolom yang akan ditambahkan ke skema sinkronisasi. Setiap nama tabel atau kolom harus dibatasi sepenuhnya dengan nama skema. Misalnya: [dbo].[Table1], [dbo].[Table2].[Column1]. Beberapa nama tabel atau kolom dapat ditentukan dan dipisahkan oleh koma (,).
$tablesAndColumnsToRemove Menentukan tabel atau kolom yang akan dihapus dari skema sinkronisasi. Setiap nama tabel atau kolom harus dibatasi sepenuhnya dengan nama skema. Misalnya: [dbo].[Table1], [dbo].[Table2].[Column1]. Beberapa nama tabel atau kolom dapat ditentukan dan dipisahkan oleh koma (,).

Penjelasan skrip

Skrip UpdateSyncSchema menggunakan perintah berikut. Setiap perintah dalam tabel ditautkan ke dokumentasi spesifik-perintah.

Perintah Catatan
Get-AzSqlSyncGroup Menampilkan informasi tentang grup sinkronisasi.
Update-AzSqlSyncGroup Memperbarui grup sinkronisasi.
Get-AzSqlSyncMember Menampilkan informasi tentang anggota sinkronisasi.
Get-AzSqlSyncSchema Menampilkan informasi tentang skema sinkronisasi.
Update-AzSqlSyncSchema Memperbarui skema sinkronisasi.

Langkah berikutnya

Untuk informasi selengkapnya tentang Azure PowerShell, lihat Dokumentasi Microsoft Azure PowerShell.

Sampel skrip PowerShell tambahan dapat ditemukan di skrip PowerShell Azure SQL Database.

Untuk informasi selengkapnya tentang SQL Data Sync, lihat:

Untuk informasi selengkapnya tentang SQL Database, lihat: