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

ŞUNUN İÇİN GEÇERLİDİR: Azure SQL Database

Bu Azure PowerShell örnek, var olan 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 hesap oluşturun.

Not

Bu makale Azure Az PowerShell modülünü kullanacak şekilde güncelleştirilmiştir. Az PowerShell modülü, Azure ile etkileşim kurmak için önerilen PowerShell modülüdü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üklemeye gerek kalmadan çalıştırmak için Cloud Shell’in ö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çeneği belirlendiğinde, kod otomatik olarak Cloud Shell’e kopyalanmaz. Azure Cloud Shell için Deneyin örneği
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. Cloud Shell’i yeni bir pencerede başlatma
Azure portalın sağ üst köşesindeki menü çubuğunda yer alan Cloud Shell düğmesini seçin. Azure portaldaki Cloud Shell düğmesi

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 sisteminde Ctrl+Shift+V tuşlarını kullanarak veya macOS’de Cmd+Shift+V tuşlarını kullanarak 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ı tercih ederseniz bu öğretici az PowerShell 1.4.0 veya üstünü 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ğini desteklemez.

Örnekler

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

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 any sütunu eklediyseniz), yeniden yapılandırmadan önce şemayı 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ı 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 Bir eşitleme grubu hakkında bilgi döndürür.
Update-AzSqlSyncGroup Bir eşitleme grubunu güncelleştirir.
Get-AzSqlSyncMember Bir eşitleme üyesiyle ilgili bilgileri döndürür.
Get-AzSqlSyncSchema Bir eşitleme şeması hakkında bilgi 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.