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 örnek, 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 ücretsiz bir Azure hesabı oluşturun.

Not

Bu makalede, Azure ile etkileşime yönelik ö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ır. Azure hizmetleriyle çalışmak için Cloud Shell ile Bash veya PowerShell kullanabilirsiniz. Bu makaledeki kodu yerel ortamınıza herhangi bir şey yüklemek zorunda kalmadan çalıştırmak için önceden yüklenmiş Cloud Shell 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çeneği belirlendiğinde, kod otomatik olarak Cloud Shell’e kopyalanmaz. Azure Cloud Shell için Deneyin örneğini gösteren ekran görüntüsü.
Cloud Shell’i tarayıcınızda açmak için https://shell.azure.com bölümüne gidin veya Cloud Shell’i Başlat düğmesini seçin. yeni bir pencerede Cloud Shell başlatmayı gösteren ekran görüntüsü.
Azure portalın sağ üst köşesindeki menü çubuğunda yer alan Cloud Shell düğmesini seçin. Azure portal Cloud Shell düğmesini gösteren ekran görüntüsü

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ğunda Kopyala düğmesini seçin.

  3. Windows ve Linux'ta Ctrl+ShiftV 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 tuşuna basın.

PowerShell'i yerel olarak yükleyip kullanmayı seçerseniz, bu öğretici Az PowerShell 1.4.0 veya üzerini gerektirir. 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 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 veya yeni bir sütun eklediyseniz), şemayı yeniden yapılandırmadan önce yenilemeniz gerekir. Varsayılan değer false’tur.
$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ı virgülle (,) belirtilebilir ve 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ı virgülle (,) belirtilebilir ve 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: