Öğretici: Azure SQL Veritabanı ile SQL Server'daki veritabanları arasında SQL Data Sync'i ayarlama

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

Bu öğreticide, hem Azure SQL Veritabanı hem de SQL Server örneklerini içeren bir eşitleme grubu oluşturarak SQL Data Sync'i ayarlamayı öğreneceksiniz. Eşitleme grubu özel olarak yapılandırılmıştır ve ayarladığınız zamanlamaya göre eşitlenir.

Öğreticide, SQL Veritabanı ve SQL Server ile ilgili en az bir önceki deneyime sahip olduğunuz varsayılır.

SQL Data Sync'e genel bakış için bkz . SQL Data Sync ile verileri bulut ve şirket içi veritabanları arasında eşitleme.

SQL Data Sync'i yapılandırma hakkında PowerShell örnekleri için bkz. SQL Veritabanı veritabanları arasında veya Azure SQL Veritabanı ile SQL Server'daki veritabanları arasında eşitleme

Önemli

Merkez veritabanı, eşitleme grubunun birden çok veritabanı uç noktasına sahip olduğu bir eşitleme topolojisinin merkezi uç noktasıdır. Eşitleme grubunda uç noktaları olan diğer tüm üye veritabanları, hub veritabanıyla eşitlenir.

Şu anda SQL Data Sync yalnızca Azure SQL Veritabanı'da desteklenmektedir. Hub veritabanı bir Azure SQL Veritabanı olmalıdır.

Azure SQL Veritabanı Hiper Ölçek, hub veritabanı olarak değil yalnızca üye veritabanı olarak desteklenir.

Eşitleme grubu oluşturma

  1. Azure portalına gidin. Var olan bir Azure SQL Veritabanı bulmak için SQL veritabanlarını arayın ve seçin.

  2. Data Sync için merkez veritabanı olarak kullanmak istediğiniz mevcut veritabanını seçin.

  3. Seçili veritabanının SQL veritabanı kaynak menüsünde, Veri yönetimi'nin altında Diğer veritabanlarıyla eşitle'yi seçin.

  4. Diğer veritabanlarıyla eşitle sayfasında Yeni Eşitleme Grubu'na tıklayın. Veri Eşitleme grubu oluştur sayfası açılır.

  5. Veri Eşitleme Grubu Oluştur sayfasında aşağıdaki ayarları yapılandırın:

    A screenshot from the Create Data Sync page of the Azure portal, creating a new Sync Metadata Database to use with Automatic Sync.

    Ayarı Açıklama
    Eşitleme Grubu Adı Yeni eşitleme grubu için bir ad girin. Bu ad, veritabanının adından farklıdır.
    Meta Veri Veritabanını Eşitle Eşitleme Meta Verileri Veritabanı olarak hizmet vermek için veritabanı oluşturmayı (önerilen) veya mevcut bir veritabanını kullanmayı seçin.

    Microsoft, Eşitleme Meta Verileri Veritabanı olarak kullanılmak üzere yeni, boş bir veritabanı oluşturulmasını önerir. Data Sync bu veritabanında tablolar oluşturur ve sık tekrarlanan bir iş yükü çalıştırır. Bu veritabanı, seçili bölge ve abonelikteki tüm eşitleme grupları için Eşitleme Meta Verileri Veritabanı olarak paylaşılır. Bölgedeki tüm eşitleme gruplarını ve eşitleme aracılarını kaldırmadan veritabanını veya adını değiştiremezsiniz.

    Yeni bir veritabanı oluşturmayı seçerseniz Yeni veritabanı'nı seçin. Veritabanı ayarlarını yapılandır'ı seçin. SQL Veritabanı sayfasında yeni bir Azure SQL Veritabanı adlandırın ve yapılandırın ve Tamam'ı seçin.

    Var olan veritabanını kullan'ı seçerseniz, Meta Veri Veritabanını Eşitle açılan listesinden veritabanını seçin.
    Otomatik Eşitleme Açık veya Kapalı'ya tıklayın.

    Açık'ı seçerseniz, bir sayı girin ve Eşitleme Sıklığı bölümünde Saniyeler, Dakikalar, Saatler veya Günler'iseçin.
    İlk eşitleme, seçilen aralık dönemi yapılandırmanın kaydedildiği zamandan sonra başlar.
    Çakışma Çözümü Hub kazanma veya Üye kazanma'ya tıklayın.

    Hub kazanma , çakışmalar oluştuğunda hub veritabanındaki verilerin üye veritabanında çakışan verilerin üzerine yazılması anlamına gelir.

    Üye kazanma , çakışmalar oluştuğunda üye veritabanındaki verilerin hub veritabanında çakışan verilerin üzerine yazılması anlamına gelir.
    Hub Veritabanı Kullanıcı Adı ve Hub Veritabanı Parolası Hub veritabanı için sunucu yöneticisi SQL kimliği doğrulanmış oturum açma bilgilerine kullanıcı adını ve parolayı sağlayın. Bu, başlattığınız Azure SQL mantıksal sunucusunun sunucu yöneticisi kullanıcı adı ve parolasıdır. Microsoft Entra (eski adıyla Azure Active Directory) kimlik doğrulaması şu anda desteklenmemektedir.
    Özel bağlantı kullan Eşitleme hizmeti ile hub veritabanı arasında güvenli bir bağlantı kurmak için hizmet tarafından yönetilen özel uç nokta seçin.
  6. Tamam'ı seçin ve eşitleme grubunun oluşturulup dağıtılması için bekleyin.

  7. Yeni Eşitleme Grubu sayfasında Özel bağlantı kullan'ı seçtiyseniz özel uç nokta bağlantısını onaylamanız gerekir. Bilgi iletisindeki bağlantı sizi bağlantıyı onaylayabileceğiniz özel uç nokta bağlantıları deneyimine götürür.

    A screenshot from the Azure portal Private Endpoint connections page, showing where to approve a private link.

    Dekont

    Eşitleme grubu ve eşitleme üyelerinin özel bağlantılarının ayrı olarak oluşturulması, onaylanması ve devre dışı bırakılması gerekir.

Eşitleme üyeleri ekleme

Yeni eşitleme grubu oluşturulduktan ve dağıtıldıktan sonra eşitleme grubunu açın ve eşitleme üyelerini seçeceğiniz Veritabanları sayfasına erişin.

Dekont

Kullanıcı adını ve parolayı hub veritabanınıza güncelleştirmek veya eklemek için Eşitleme üyelerini seçin sayfasındaki Hub Veritabanı bölümüne gidin.

Azure SQL Veritabanı'da eşitleme grubuna üye olarak veritabanı ekleme

  1. Eşitleme üyelerini seçin bölümünde, azure veritabanı ekle'yi seçerek isteğe bağlı olarak Azure SQL Veritabanı'da bir veritabanını eşitleme grubuna ekleyin. Azure Veritabanını Yapılandır sayfası açılır.

    A screenshot from the Azure portal of the Configure Azure Database page, where you can add a database to the sync group.

  2. Azure SQL Veritabanı Yapılandır sayfasında aşağıdaki ayarları değiştirin:

    Ayarı Açıklama
    Üye Adını Eşitle Yeni eşitleme üyesi için bir ad belirtin. Bu ad, veritabanı adının kendisinden farklıdır.
    Abonelik Faturalama amacıyla ilişkili Azure aboneliğini seçin.
    Azure SQL Server Mevcut sunucuyu seçin.
    Azure SQL Veritabanı SQL Veritabanı'da var olan veritabanını seçin.
    Yol Tariflerini Eşitle Eşitleme Yönü Hub'dan Üyeye veya Üyeden Hub'a ya da her ikisi de olabilir. Hub'dan Hub'a veya Çift Yönlü Eşitleme'yi seçin. Daha fazla bilgi için bkz. Nasıl çalışır?
    Kullanıcı Adı ve Parola Üye veritabanının bulunduğu sunucu için mevcut kimlik bilgilerini girin. Bu bölüme yeni kimlik bilgileri girmeyin.
    Özel bağlantı kullan Eşitleme hizmeti ile üye veritabanı arasında güvenli bir bağlantı kurmak için hizmet tarafından yönetilen özel uç nokta seçin.
  3. Tamam'ı seçin ve yeni eşitleme üyesinin oluşturulup dağıtılması için bekleyin.

SQL Server örneğindeki veritabanını eşitleme grubuna üye olarak ekleme

  1. Üye Veritabanı bölümünde, şirket içi veritabanı ekle'yi seçerek isteğe bağlı olarak bir SQL Server örneğindeki veritabanını eşitleme grubuna ekleyin.

  2. Aşağıdaki işlemleri yapabileceğiniz Şirket İçi Yapılandırma sayfası açılır:

  3. Eşitleme Aracısı Ağ Geçidini Seçin'i seçin. Eşitleme Aracısı Seç sayfası açılır.

    A screenshot from the Azure portal, in the Configure On-Premises steps. When the Choose the Sync Agent Gateway option is selected, the Select Sync Agent page is shown.

  4. Eşitleme Aracısını Seçin sayfasında, var olan bir aracıyı mı kullanacağınızı yoksa aracı mı oluşturacağını seçin.

    Mevcut aracılar'ı seçerseniz listeden mevcut aracıyı seçin.

    Yeni aracı oluştur'u seçerseniz aşağıdakileri yapın:

    1. Sağlanan bağlantıdan veri eşitleme aracısını indirin ve SQL Server örneğinin bulunduğu konumdan farklı bir sunucuya yükleyin. Aracıyı doğrudan Azure SQL Data Sync Aracısı'ndan da indirebilirsiniz. Eşitleme istemci aracısı hakkında en iyi yöntemler için bkz. Azure SQL Data Sync için en iyi yöntemler.

      Önemli

      İstemci aracısının sunucuyla iletişim kurmasına izin vermek için güvenlik duvarında giden TCP bağlantı noktası 1433'i açmanız gerekir.

    2. Bir Aracı Adı girin.

    3. Oluştur ve Anahtar Oluştur'u seçin ve aracı anahtarını panoya kopyalayın.

    4. Eşitleme Aracısı Seç sayfasını kapatmak için Tamam'ı seçin.

  5. Eşitleme istemci aracısının yüklü olduğu sunucuda İstemci Eşitleme Aracısı uygulamasını bulun ve çalıştırın.

    A screenshot from the Microsoft SQL Data Sync 2.0 client agent app. The Submit Agent Key button is highlighted.

    1. Eşitleme aracısı uygulamasında Aracı Anahtarını Gönder'i seçin. Meta Veri Veritabanı Yapılandırmasını Eşitle iletişim kutusu açılır.

    2. Meta Veri Veritabanı Yapılandırmasını Eşitle iletişim kutusunda, Azure portalından kopyalanan aracı anahtarını yapıştırın. Ayrıca, Eşitleme Meta Veri Veritabanı veritabanının bulunduğu sunucu için mevcut kimlik bilgilerini sağlayın. Tamam'ı seçin ve yapılandırmanın tamamlanmasını bekleyin.

      A screenshot from the Microsoft SQL Data Sync 2.0 client agent app. Enter the agent key and server credentials.

      Dekont

      Güvenlik duvarı hatası alırsanız, SQL Server bilgisayarından gelen trafiğe izin vermek için Azure'da bir güvenlik duvarı kuralı oluşturun. Kuralı portalda veya SQL Server Management Studio'da (SSMS) el ile oluşturabilirsiniz. SSMS'de adını olarak <hub_database_name>.database.windows.netgirerek Azure'daki hub veritabanına bağlanın.

    3. Bir SQL Server veritabanını aracıya kaydetmek için Kaydet'i seçin. SQL Server Yapılandırması iletişim kutusu açılır.

      A screenshot from the Microsoft SQL Data Sync 2.0 client agent app. Add and configure a SQL Server database.

    4. SQL Server Yapılandırması iletişim kutusunda SQL Server kimlik doğrulaması veya Windows kimlik doğrulaması kullanarak bağlanmayı seçin. SQL Server kimlik doğrulamasını seçerseniz var olan kimlik bilgilerini girin. Eşitlemek istediğiniz veritabanının SQL Server adını ve adını belirtin ve ayarlarınızı test etmek için Bağlantıyı test et'i seçin. Ardından Kaydet'i seçtiğinizde kayıtlı veritabanı listede görünür.

      A screenshot from the Microsoft SQL Data Sync 2.0 application showing that the SQL Server database and machine are now registered.

    5. İstemci Eşitleme Aracısı uygulamasını kapatın.

  6. Azure portalında, Şirket İçi Yapılandırma sayfasında Veritabanını Seç'i seçin.

  7. Veritabanı Seç sayfasında, Eşitleme Üyesi Adı alanında, yeni eşitleme üyesi için bir ad girin. Bu ad, veritabanının adından farklıdır. Listeden veritabanını seçin. Yol Tariflerini Eşitle alanında Çift Yönlü Eşitleme, Hub'a veya Hub'dan'ı seçin.

  8. Veritabanı Seç sayfasını kapatmak için Tamam'ı seçin. Ardından Tamam'ı seçerek Şirket İçi Yapılandırma sayfasını kapatın ve yeni eşitleme üyesinin oluşturulup dağıtılması için bekleyin. Son olarak, Eşitleme üyelerini seçin sayfasını kapatmak için Tamam'ı seçin.

Dekont

SQL Data Sync'e ve yerel aracıya bağlanmak için rol DataSync_Executor kullanıcı adınızı ekleyin. Data Sync bu rolü SQL Server örneğinde oluşturur.

Eşitleme grubunu yapılandırma

Yeni eşitleme grubu üyeleri oluşturulduktan ve dağıtıldıktan sonra Veritabanı Eşitleme Grubu sayfasındaki Tablolar bölümüne gidin.

A screenshot from the Azure portal, on the Tables page, select tables and fields to sync.

  1. Tablolar sayfasında, eşitleme grubu üyeleri listesinden bir veritabanı seçin ve Şemayı yenile'yi seçin. Yenileme şemasında birkaç dakika gecikme bekleyin; özel bağlantı kullanılıyorsa gecikme birkaç dakika daha uzun olabilir.

  2. Listeden, eşitlemek istediğiniz tabloları seçin. Varsayılan olarak tüm sütunlar seçilidir, bu nedenle eşitlemek istemediğiniz sütunların onay kutusunu devre dışı bırakın. Birincil anahtar sütununu seçili bıraktığından emin olun.

  3. Kaydet'i seçin.

  4. Varsayılan olarak, veritabanları zamanlanana veya el ile çalıştırılana kadar eşitlenmez. El ile eşitleme çalıştırmak için Azure portalında SQL Veritabanı veritabanınıza gidin, Diğer veritabanlarıyla eşitle'yi seçin ve eşitleme grubunu seçin. Veri Eşitleme sayfası açılır. Eşitle'yi seçin.

    A screenshot from the Azure portal showing the manual sync button for a Database Sync Group.

SSS

Bu bölümde Azure SQL Data Sync hizmeti hakkında sık sorulan sorular yanıtlanmaktadır.

SQL Data Sync tam olarak tablo oluşturuyor mu?

Hedef veritabanında eşitleme şeması tabloları eksikse SQL Data Sync seçtiğiniz sütunlarla o tabloları oluşturur. Ancak bu, aşağıdaki nedenlerle tam uygunluk şemasına neden olmaz:

  • Hedef tabloda yalnızca seçtiğiniz sütunlar oluşturulmuştur. Seçilmeyen sütunlar yoksayılmıştır.
  • Hedef tabloda yalnızca seçili sütun dizinleri oluşturulmuştur. Seçili olmayan sütunların dizinleri yoksayılmıştır.
  • XML türü sütunlardaki dizinler oluşturulmamıştır.
  • CHECK kısıtlamaları oluşturulmamıştır.
  • Kaynak tablolardaki tetikleyiciler oluşturulmamıştır.
  • Görünümler ve saklı yordamlar oluşturulmamıştır.

Bu sınırlamalar nedeniyle aşağıdakileri öneririz:

  • Üretim ortamları için tam güvenilirlikli şemayı kendiniz oluşturun.
  • Hizmetle denemeler yaparken otomatik sağlama özelliğini kullanın.

Neden oluşturmadığım tabloları görüyorum?

Data Sync, değişiklik izleme için veritabanında ek tablolar oluşturur. Bunları silmeyin veya Veri Eşitleme çalışmayı durdurur.

Verilerim eşitlemeden sonra yakınsanmış mı?

Zorunda değildir. Eşitlemelerin Hub'dan A'ya, Hub'dan B'ye ve Hub'dan C'ye olduğu bir merkez ve üç uçlu (A, B ve C) bir eşitleme grubu alın. Hub'dan A eşitlemesine geçtikten sonra A veritabanında değişiklik yapılırsa, bu değişiklik bir sonraki eşitleme görevine kadar B veritabanına veya C veritabanına yazılamaz.

Şema değişikliklerini eşitleme grubuna Nasıl yaparım??

Tüm şema değişikliklerini el ile yapma ve yayma.

  1. Şema değişikliklerini hub'a ve tüm eşitleme üyelerine el ile çoğaltın.
  2. Eşitleme şemasını güncelleştirin.

Yeni tablo ve sütun eklemek için:

Yeni tablolar ve sütunlar geçerli eşitlemeyi etkilemez ve Data Sync, eşitleme şemasına eklenene kadar bunları yoksayar. Yeni veritabanı nesneleri eklerken şu sırayı izleyin:

  1. Hub'a ve tüm eşitleme üyelerine yeni tablolar veya sütunlar ekleyin.
  2. Eşitleme şemasına yeni tablolar veya sütunlar ekleyin.
  3. Yeni tablo ve sütunlara değer eklemeye başlayın.

Bir sütunun veri türünü değiştirmek için:

Mevcut bir sütunun veri türünü değiştirdiğinizde, yeni değerler eşitleme şemasında tanımlanan özgün veri türüne sığdığı sürece Veri Eşitleme çalışmaya devam eder. Örneğin, kaynak veritabanındaki türü int yerine bigint olarak değiştirirseniz, intveri türü için çok büyük bir değer ekleyene kadar Veri Eşitleme çalışmaya devam eder. Değişikliği tamamlamak için şema değişikliğini el ile hub'a ve tüm eşitleme üyelerine çoğaltın, ardından eşitleme şemasını güncelleştirin.

Data Sync ile veritabanını nasıl dışarı ve içeri aktarabilirim?

Veritabanını dosya olarak .bacpac dışarı aktardıktan ve veritabanını oluşturmak üzere içeri aktardıktan sonra, yeni veritabanında Data Sync'i kullanmak için aşağıdakileri yapın:

  1. Data Sync complete cleanup.sql dosyasını kullanarak yeni veritabanındaki Data Sync nesnelerini ve ek tabloları temizleyin. Betik, gerekli tüm Data Sync nesnelerini veritabanından siler.
  2. Eşitleme grubunu yeni veritabanıyla yeniden oluşturun. Eski eşitleme grubuna artık ihtiyacınız yoksa silin.

İstemci aracısı hakkında bilgileri nereden bulabilirim?

İstemci aracısı hakkında sık sorulan sorular için bkz . Aracı SSS.

Kullanmaya başlamadan önce bağlantıyı el ile onaylamam gerekiyor mu?

Evet. Eşitleme grubu dağıtımı sırasında veya PowerShell kullanarak Azure portalının Özel uç nokta bağlantıları sayfasında hizmet tarafından yönetilen özel uç noktayı el ile onaylamanız gerekir.

Eşitleme işi Azure veritabanımı hazırlarken neden güvenlik duvarı hatası alıyorum?

Bunun nedeni Azure kaynaklarının sunucunuza erişmesine izin verilmemesi olabilir. İki çözüm vardır:

  1. Azure veritabanındaki güvenlik duvarının Azure hizmetlerinin ve kaynaklarının bu sunucuya erişmesine izin ver seçeneğini Evet olarak ayarladığınızdan emin olun. Daha fazla bilgi için bkz. Azure SQL Veritabanı ve ağ erişim denetimleri.
  2. Data Sync için Azure Özel Bağlantı farklı bir özel bağlantı yapılandırın. Özel Bağlantı, güvenlik duvarının arkasında duran veritabanlarıyla güvenli bağlantı kullanarak Eşitleme grupları oluşturmanın yoludur. SQL Data Sync Özel Bağlantı Microsoft tarafından yönetilen uç noktadır ve mevcut sanal ağ içinde dahili olarak bir alt ağ oluşturur, bu nedenle başka bir sanal ağ veya alt ağ oluşturmanız gerekmez.

Sonraki adımlar

Tebrikler! Hem Azure SQL veritabanını hem de SQL Server veritabanını içeren bir eşitleme grubu oluşturdunuz.

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

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