Mevcut bir eşitleme grubunda eşitleme şemasını güncelleştirmek için PowerShell kullanma

Şunlar için geçerlidir:Azure SQL Veritabanı

Bu Azure PowerShell örneği, mevcut bir SQL Data Sync eşitleme grubundaki eşitleme şemasını güncelleştirir. Birden çok tabloyu eşitlerken bu betik, eşitleme şemasını verimli bir şekilde güncelleştirmenize yardımcı olur. Bu örnek, GitHub’da UpdateSyncSchema.ps1 olarak kullanılabilir olan UpdateSyncSchema betiğinin kullanımını göstermektedir.

Azure aboneliğiniz yoksa başlamadan önce birücretsiz Azure hesabı oluşturun.

Not

Bu makalede, Azure ile etkileşim için önerilen PowerShell modülü olan Azure Az PowerShell modülü kullanılır. Az PowerShell modülünü kullanmaya başlamak için Azure PowerShell’i yükleyin. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.

Azure Cloud Shell kullanma

Azure, tarayıcınız aracılığıyla kullanabileceğiniz etkileşimli bir kabuk ortamı olan Azure Cloud Shell'i barındırıyor. Azure hizmetleriyle çalışmak için Cloud Shell ile Bash veya PowerShell kullanabilirsiniz. Yerel ortamınıza herhangi bir şey yüklemek zorunda kalmadan bu makaledeki kodu çalıştırmak için Cloud Shell önceden yüklenmiş komutlarını kullanabilirsiniz.

Azure Cloud Shell'i başlatmak için:

Seçenek Örnek/Bağlantı
Kod bloğunun sağ üst köşesindeki Deneyin’i seçin. Deneyin seçildiğinde kod otomatik olarak Cloud Shell'e kopyalanmaz. Screenshot that shows an example of Try It for Azure Cloud Shell.
https://shell.azure.comadresine gidin veya Cloud Shell'i tarayıcınızda açmak için Cloud Shell'i Başlat düğmesini seçin. Screenshot that shows how to launch Cloud Shell in a new window.
Azure portalının sağ üst kısmındaki menü çubuğunda Cloud Shell düğmesini seçin. Screenshot that shows the Cloud Shell button in the Azure portal

Azure Cloud Shell'de bu makaledeki kodu çalıştırmak için:

  1. Cloud Shell'i başlatın.

  2. Kodu kopyalamak için kod bloğundaki Kopyala düğmesini seçin.

  3. Windows ve Linux'ta Ctrl+Shift V'yi seçerek veya macOS üzerinde Cmd+Shift++V'yi seçerek kodu Cloud Shell oturumuna yapıştırın.

  4. Kodu çalıştırmak için Enter'ı seçin.

PowerShell'i yerel olarak yükleyip kullanmayı seçerseniz, bu öğretici için Az PowerShell 1.4.0 veya üzeri gerekir. Yükseltmeniz gerekirse, bkz. Azure PowerShell modülünü yükleme. PowerShell'i yerel olarak çalıştırıyorsanız Azure bağlantısı oluşturmak için Connect-AzAccount komutunu da çalıştırmanız gerekir.

SQL Data Sync hizmetine genel bakış için bkz. Azure SQL Data Sync ile birden fazla bulut ve şirket içi veritabanı arasında veri eşitleme.

Önemli

SQL Data Sync şu anda Azure SQL Yönetilen Örneği'ni desteklemiyor.

Örnekler

Tüm tabloları eşitleme şemasına ekleme

Aşağıdaki örnek, veritabanı şemasını yeniler ve eşitleme şemasının hub veritabanındaki tüm geçerli tabloları ekler.

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

Tablo ve sütun ekleme ve kaldırma

Aşağıdaki örnek, eşitleme şemasına [dbo].[Table1] ve [dbo].[Table2].[Column1] ekler ve [dbo].[Table3] öğesini kaldırır.

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

Betik parametreleri

UpdateSyncSchema betiği aşağıdaki parametrelere sahiptir:

Parametre Notlar
$subscriptionId Eşitleme grubunun oluşturulduğu abonelik.
$resourceGroupName Eşitleme grubunun oluşturulduğu kaynak grubu.
$serverName Hub veritabanının sunucu adı.
$databaseName Hub veritabanı adı.
$syncGroupName Eşitleme grubu adı.
$memberName Hub veritabanı yerine, eşitleme üyesinden veritabanı şemasını yüklemek istiyorsanız üye adını belirtin. Hub’dan veritabanı şemasını yüklemek istiyorsanız bu parametreyi boş bırakın.
$timeoutInSeconds Betik, veritabanı şemasını yenilediğinde gerçekleşen zaman aşımı. Varsayılan değer 900 saniyedir.
$refreshDatabaseSchema Betiğin, veritabanı şemasını yenilemesi gerekip gerekmediğini belirtin. Veritabanı şemanız önceki yapılandırmadan değiştiyse (örneğin, yeni bir tablo eklediyseniz veya sütun eklediyseniz), yeniden yapılandırmadan önce şemayı yenilemeniz gerekir. Varsayılan değer yanlış'tır.
$addAllTables Bu değer true olursa, tüm geçerli tablolar ve sütunlar eşitleme şemasına eklenir. $TablesAndColumnsToAdd ve $TablesAndColumnsToRemove değerleri yoksayılır.
$tablesAndColumnsToAdd Eşitleme şemasına eklenecek tabloları veya sütunları belirtin. Her bir tablo veya sütun adının şema adıyla tam olarak ayrılmış olması gerekir. Örneğin: [dbo].[Table1], [dbo].[Table2].[Column1]. Birden çok tablo veya sütun adı belirtilebilir ve virgülle (,) ayrılabilir.
$tablesAndColumnsToRemove Eşitleme şemasından kaldırılacak tabloları veya sütunları belirtin. Her bir tablo veya sütun adının şema adıyla tam olarak ayrılmış olması gerekir. Örneğin: [dbo].[Table1], [dbo].[Table2].[Column1]. Birden çok tablo veya sütun adı belirtilebilir ve virgülle (,) ayrılabilir.

Betik açıklaması

UpdateSyncSchema betiği aşağıdaki komutları kullanır. Tablodaki her komut, komuta özgü belgelere yönlendirir.

Komut Notlar
Get-AzSqlSyncGroup Eşitleme grubu hakkındaki bilgileri döndürür.
Update-AzSqlSyncGroup Bir eşitleme grubunu güncelleştirir.
Get-AzSqlSyncMember Eşitleme üyesi hakkındaki bilgileri döndürür.
Get-AzSqlSyncSchema Eşitleme şeması hakkındaki bilgileri döndürür.
Update-AzSqlSyncSchema Bir eşitleme şemasını güncelleştirir.

Sonraki adımlar

Azure PowerShell hakkında daha fazla bilgi için bkz. Azure PowerShell belgeleri.

Ek SQL Veritabanı PowerShell betiği örnekleri Azure SQL Veritabanı PowerShell betikleri içinde bulunabilir.

SQL Data Sync hakkında daha fazla bilgi için bkz:

SQL Veritabanı hakkında daha fazla bilgi için bkz: