öğretici: SQL Server DMS kullanarak Azure SQL Veritabanı geçirme

Azure veritabanı geçiş hizmeti 'ni kullanarak veritabanlarını bir SQL Server örneğinden Azure SQL Veritabanıgeçirebilirsiniz. bu öğreticide, Azure veritabanı geçiş hizmeti 'ni kullanarak Azure SQL Veritabanı bir SQL Server 2016 (veya üzeri) şirket içi örneğine geri yüklenen AdventureWorks2016 veritabanını tek bir veritabanına veya havuza alınmış veritabanına geçireceğiniz.

Şunları öğrenirsiniz:

  • veri Geçiş Yardımcısı kullanarak, herhangi bir engelleme sorunu için şirket içi veritabanınızı değerlendirin ve değerlendirin.
  • veritabanı örnek şemasını geçirmek için veri Geçiş Yardımcısı kullanın.
  • Azure DataMigration kaynak sağlayıcısını kaydedin.
  • Azure Veritabanı Geçiş Hizmeti örneği oluşturun.
  • Azure veritabanı geçiş hizmeti 'ni kullanarak bir geçiş projesi oluşturun.
  • Geçişi çalıştırma.
  • Geçişi izleme.

Önkoşullar

Bu öğreticiyi tamamlamak için aşağıdakileri yapmanız gerekir:

  • SQL Server 2016 veya sonraki bir sürümüindirin ve yükleyin.

  • Sunucu Ağ Protokolünü Etkinleştirme veya Devre Dışı Bırakma makalesindeki yönergeleri izleyerek SQL Server Express yüklemesi sırasında varsayılan olarak devre dışı bırakılan TCP/IP protokolünü etkinleştirin.

  • AdventureWorks2016 veritabanını SQL Server örneğine geri yükleyin.

  • Azure SQL Veritabanı, Azure portal kullanarak Azure SQL Veritabanı veritabanı oluşturmamakalesindeki ayrıntıları izleyerek yaptığınız bir veritabanı oluşturun. Bu öğreticide Azure SQL Veritabanı’nın adının AdventureWorksAzure olduğu kabul edilmiştir, ancak istediğiniz adı kullanabilirsiniz.

    Not

    SQL Server ıntegration Services (ssıs) kullanıyorsanız ve ssıs projeleriniz/paketleriniz (ssısdb) için katalog veritabanını SQL Server ile Azure SQL Veritabanı geçirmek istiyorsanız, ssıs 'yi Azure Data Factory (ADF) sağladığınızda, hedef sssısdb sizin adınıza otomatik olarak oluşturulur ve yönetilir. ssıs paketlerini geçirme hakkında daha fazla bilgi için SQL Server ıntegration Services paketlerini Azure 'a geçirmemakalesine bakın.

  • veri Geçiş Yardımcısıen son sürümünü indirip yükleyin.

  • expressroute veya VPNkullanarak şirket içi kaynak sunucularınıza siteden siteye bağlantı sağlayan Azure Resource Manager dağıtım modelini kullanarak Azure veritabanı geçiş hizmeti için Microsoft Azure sanal ağı oluşturun. Sanal ağ oluşturma hakkında daha fazla bilgi için sanal ağ belgelerineve özellikle adım adım ayrıntılarla birlikte hızlı başlangıç makalelerine bakın.

    Not

    Sanal ağ kurulumu sırasında, Microsoft 'a ağ eşlemesi ile ExpressRoute kullanırsanız, hizmetin sağlanacağı alt ağa aşağıdaki hizmet uç noktalarını ekleyin:

    • hedef veritabanı uç noktası (örneğin, SQL uç noktası, Cosmos DB uç noktası vb.)
    • Depolama uç noktası
    • Service Bus uç noktası

    Azure veritabanı geçiş hizmeti internet bağlantısı olmadığından bu yapılandırma gereklidir.

    Şirket içi ağ ile Azure arasında siteden siteye bağlantınız yoksa veya siteden siteye bağlantı bant genişliği varsa, Azure veritabanı geçiş hizmeti 'ni karma modda (Önizleme) kullanmayı göz önünde bulundurun. Karma mod, bulutta çalışan bir Azure veritabanı geçiş hizmeti örneğiyle birlikte Şirket içi geçiş çalışanından yararlanır. Karma modda Azure veritabanı geçiş hizmeti 'nin bir örneğini oluşturmak için Azure Portal kullanarak karma modda Azure veritabanı geçiş hizmeti örneği oluşturmamakalesine bakın.

  • sanal ağ ağ güvenlik grubunuzun giden güvenlik kurallarınızın servicebus, Depolama ve AzureMonitor için servicetag giden bağlantı noktası 443 ' ü engellemediğinden emin olun. Azure sanal ağ NSG trafik filtrelemesi hakkında daha fazla bilgi için ağ güvenlik grupları ile ağ trafiğini filtrelememakalesine bakın.

  • Windows Güvenlik Duvarınızı veritabanı altyapısı erişimi için yapılandırın.

  • Azure veritabanı geçiş hizmeti 'nin varsayılan olarak TCP bağlantı noktası 1433 olan kaynak SQL Server erişmesine izin vermek için Windows güvenlik duvarınızı açın. Varsayılan örneğiniz başka bir bağlantı noktasında dinliyorsa, bunu güvenlik duvarına ekleyin.

  • dinamik bağlantı noktaları kullanarak birden çok adlandırılmış SQL Server örneği çalıştırıyorsanız, Azure veritabanı geçiş hizmeti 'nin kaynak sunucunuzdaki adlandırılmış bir örneğe bağlanabilmesi için SQL Browser hizmetini etkinleştirmek ve güvenlik duvarlarınız aracılığıyla UDP bağlantı noktası 1434 erişimine izin vermek isteyebilirsiniz.

  • Kaynak veritabanınızın önünde bir güvenlik duvarı gereci kullanırken, Azure veritabanı geçiş hizmeti 'nin geçiş için kaynak veritabanına erişmesine izin vermek üzere güvenlik duvarı kuralları eklemeniz gerekebilir.

  • Azure veritabanı geçiş hizmeti 'nin hedef veritabanlarına erişmesine izin vermek için Azure SQL Veritabanı için sunucu düzeyinde bir ıp güvenlik duvarı kuralı oluşturun. Azure veritabanı geçiş hizmeti için kullanılan sanal ağın alt ağ aralığını belirtin.

  • SQL Server örneğine bağlanmak için kullanılan kimlik bilgilerinin CONTROL SERVER izinlerine sahip olduğundan emin olun.

  • hedef Azure SQL Veritabanı örneğine bağlanmak için kullanılan kimlik bilgilerinin hedef veritabanlarında denetim veritabanı iznine sahip olduğundan emin olun.

    Önemli

    Azure veritabanı geçiş hizmeti 'nin bir örneğini oluşturmak, normalde aynı kaynak grubu içinde olmayan sanal ağ ayarlarına erişim gerektirir. Sonuç olarak, DMS 'nin bir örneğini oluşturan kullanıcı abonelik düzeyinde izin gerektirir. Gerektiği şekilde atayabileceğiniz gerekli rolleri oluşturmak için aşağıdaki betiği çalıştırın:

    
    $readerActions = `
    "Microsoft.Network/networkInterfaces/ipConfigurations/read", `
    "Microsoft.DataMigration/*/read", `
    "Microsoft.Resources/subscriptions/resourceGroups/read"
    
    $writerActions = `
    "Microsoft.DataMigration/services/*/write", `
    "Microsoft.DataMigration/services/*/delete", `
    "Microsoft.DataMigration/services/*/action", `
    "Microsoft.Network/virtualNetworks/subnets/join/action", `
    "Microsoft.Network/virtualNetworks/write", `
    "Microsoft.Network/virtualNetworks/read", `
    "Microsoft.Resources/deployments/validate/action", `
    "Microsoft.Resources/deployments/*/read", `
    "Microsoft.Resources/deployments/*/write"
    
    $writerActions += $readerActions
    
    # TODO: replace with actual subscription IDs
    $subScopes = ,"/subscriptions/00000000-0000-0000-0000-000000000000/","/subscriptions/11111111-1111-1111-1111-111111111111/"
    
    function New-DmsReaderRole() {
    $aRole = [Microsoft.Azure.Commands.Resources.Models.Authorization.PSRoleDefinition]::new()
    $aRole.Name = "Azure Database Migration Reader"
    $aRole.Description = "Lets you perform read only actions on DMS service/project/tasks."
    $aRole.IsCustom = $true
    $aRole.Actions = $readerActions
    $aRole.NotActions = @()
    
    $aRole.AssignableScopes = $subScopes
    #Create the role
    New-AzRoleDefinition -Role $aRole
    }
    
    function New-DmsContributorRole() {
    $aRole = [Microsoft.Azure.Commands.Resources.Models.Authorization.PSRoleDefinition]::new()
    $aRole.Name = "Azure Database Migration Contributor"
    $aRole.Description = "Lets you perform CRUD actions on DMS service/project/tasks."
    $aRole.IsCustom = $true
    $aRole.Actions = $writerActions
    $aRole.NotActions = @()
    
      $aRole.AssignableScopes = $subScopes
    #Create the role
    New-AzRoleDefinition -Role $aRole
    }
    
    function Update-DmsReaderRole() {
    $aRole = Get-AzRoleDefinition "Azure Database Migration Reader"
    $aRole.Actions = $readerActions
    $aRole.NotActions = @()
    Set-AzRoleDefinition -Role $aRole
    }
    
    function Update-DmsConributorRole() {
    $aRole = Get-AzRoleDefinition "Azure Database Migration Contributor"
    $aRole.Actions = $writerActions
    $aRole.NotActions = @()
    Set-AzRoleDefinition -Role $aRole
    }
    
    # Invoke above functions
    New-DmsReaderRole
    New-DmsContributorRole
    Update-DmsReaderRole
    Update-DmsConributorRole
    

Şirket içi veritabanınızı değerlendirme

Azure SQL Veritabanı bir SQL Server örneğinden tek bir veritabanına veya havuza alınmış veritabanına veri geçirebilmeniz için önce, geçişi engelleyebilen tüm engelleyici sorunlar için SQL Server veritabanını değerlendirmenize gerek duyarsınız. veri Geçiş Yardımcısı kullanarak, şirket içi veritabanı değerlendirmesini tamamlamaya yönelik SQL Server geçiş değerlendirmesi gerçekleştirme makalesinde açıklanan adımları izleyin. Yapılması gereken adımların özeti aşağıda verilmiştir:

  1. Data Migration Yardımcısı'nda Yeni (+) simgesini ve Değerlendirme proje türünü seçin.

  2. Bir proje adı belirtin. değerlendirme türü aşağı açılan listesinde, veritabanı altyapısı' nı seçin, kaynak sunucu türü metin kutusunda SQL Server' i seçin, hedef sunucu türü metin kutusunda, Azure SQL Veritabanı' i seçin ve ardından oluştur ' u seçerek projeyi oluşturun.

    kaynak SQL Server veritabanını bir Azure SQL Veritabanı tek bir veritabanına veya havuza alınmış veritabanına geçirmeyi planlıyorsanız, aşağıdaki değerlendirme raporu türlerinden birini veya her ikisini de seçebilirsiniz:

    • Veritabanı uyumluluğunu denetle
    • Özellik eşliğini denetle

    İki rapor türü de varsayılan olarak seçilidir.

  3. Data Migration Yardımcısı'nın Seçenekler ekranında İleri'yi seçin.

  4. Kaynak seçin ekranının Sunucuya bağlan iletişim kutusunda SQL Server bağlantı bilgilerini girin ve Bağlan'ı seçin.

  5. Kaynak Ekle Iletişim kutusunda AdventureWorks2016 öğesini seçin, Ekle' yi seçin ve değerlendirmeyi Başlat' ı seçin.

    Not

    SSIS kullanıyorsanız, DMA Şu anda kaynak SSSıSDB değerlendirmesini desteklememektedir. ancak, ssıs projeleri/paketleri Azure SQL Veritabanı tarafından barındırılan hedef ssısdb 'ye yeniden dağıtıldıklarında değerlendirilecek/doğrulanacak. ssıs paketlerini geçirme hakkında daha fazla bilgi için SQL Server ıntegration Services paketlerini Azure 'a geçirmemakalesine bakın.

    Değerlendirme tamamlandığında aşağıdaki grafiğe benzer sonuçlar görüntülenir:

    Veri geçişi değerlendirmesi

    Azure SQL Veritabanı veritabanları için, değerlendirmeler, tek bir veritabanına veya havuza alınmış veritabanına dağıtım için özellik eşlik sorunlarını ve geçiş engelleme sorunlarını belirler.

    • SQL Server özellik eşliği kategorisi kapsamlı öneriler, Azure'daki alternatif yaklaşımlar ve geçiş projelerini planlama konusunda yardımcı olacak çıkarılabilecek adımlar sunar.
    • uyumluluk sorunları kategorisi, SQL Server veritabanlarının Azure SQL Veritabanı geçişini engelleyebilen uyumluluk sorunlarını yansıtan kısmen desteklenen veya desteklenmeyen özellikleri tanımlar. Bu sorunları gidermenize yardımcı olan öneriler de sağlanır.
  6. İlgili seçenekleri belirleyerek değerlendirme sonuçlarındaki geçiş engelleyici sorunları ve özellik eşliği sorunlarını gözden geçirin.

Örnek şemayı geçirme

değerlendirmeyi rahat hale getirdiğinizde ve seçilen veritabanının tek bir veritabanına veya Azure SQL Veritabanı havuza alınmış veritabanına geçiş için uygun bir aday olduğunu karşıladıktan sonra, şemayı Azure SQL Veritabanı ' ye geçirmek için DMA 'yı kullanın.

Not

veri Geçiş Yardımcısı bir geçiş projesi oluşturmadan önce, önkoşullardan bahsedildiği gibi Azure 'da bir veritabanı sağladığınızdan emin olun.

Önemli

ssıs kullanıyorsanız, DMA şu anda kaynak sssısdb geçişini desteklememektedir, ancak ssıs projelerinizi/paketlerinizi Azure SQL Veritabanı tarafından barındırılan hedef ssısdb 'ye yeniden dağıtabilirsiniz. ssıs paketlerini geçirme hakkında daha fazla bilgi için SQL Server ıntegration Services paketlerini Azure 'a geçirmemakalesine bakın.

AdventureWorks2016 şemasını tek bir veritabanına veya havuza alınmış veritabanı Azure SQL Veritabanı geçirmek için aşağıdaki adımları uygulayın:

  1. Data Migration Yardımcısı'nda Yeni (+) simgesini ve ardından Proje türü bölümünde Geçiş'i seçin.

  2. Bir proje adı belirtin, Kaynak sunucu türü metin kutusunda SQL Server, Hedef sunucu türü metin kutusunda da Azure SQL Veritabanı'nı seçin.

  3. Geçiş Kapsamı bölümünde Yalnızca şema'yı seçin.

    Yukarıdaki adımları gerçekleştirdikten sonra aşağıdaki görüntüde gösterildiği gibi Data Migration Yardımcısı arabiriminin görünmesi gerekir:

    Data Migration Yardımcısı Projesi Oluşturma

  4. Projeyi oluşturmak için Oluştur'u seçin.

  5. veri Geçiş Yardımcısı, SQL Server için kaynak bağlantısı ayrıntılarını belirtin, Bağlan' yı seçin ve ardından AdventureWorks2016 veritabanını seçin.

    Data Migration Yardımcısı Kaynak Bağlantı Ayrıntıları

  6. ileri' yi seçin, hedef sunucuya Bağlan' nın altında, Azure SQL Veritabanı için hedef bağlantı ayrıntılarını belirtin, Bağlan' yı seçin ve ardından Azure SQL Veritabanı önceden sağladığınız AdventureWorksAzure veritabanını seçin.

    Data Migration Yardımcısı Hedef Bağlantı Ayrıntıları

  7. nesneleri seçme ekranına ilerlemek için ileri ' yi seçin, burada Azure SQL Veritabanı dağıtılması gereken şema nesnelerini AdventureWorks2016 veritabanında belirtebilirsiniz.

    Varsayılan olarak, tüm nesneler seçilir.

    SQL Betiği Oluşturma

  8. SQL betiği oluştur'u seçerek SQL betiklerini oluşturun ve hata olup olmadığını inceleyin.

    Şema Betiği

  9. Şemayı dağıtma'yı seçerek şemayı Azure SQL Veritabanına dağıtın. Şema dağıtıldıktan sonra hedef sunucuda anomali olup olmadığını kontrol edin.

    Şemayı Dağıtma

Microsoft.DataMigration kaynak sağlayıcısını kaydetme

  1. Azure portalında oturum açın. Abonelikler'i arayın ve seçin.

    Portal aboneliklerini gösterme

  2. Örnek oluşturmak istediğiniz aboneliği seçin ve Azure Veritabanı Geçiş Hizmeti sağlayıcılar'ı seçin.

    Kaynak sağlayıcılarını gösterme

  3. Geçiş araması ve ardından Microsoft.DataMigration için kaydol'u seçin.

    Kaynak sağlayıcısını kaydetme

Azure Veritabanı Geçiş Hizmeti örneğini oluşturma

  1. Azure portal menüsünde veya giriş sayfasında, kaynak oluştur' u seçin. Azure veritabanı geçiş hizmeti'ni arayıp seçin.

    Azure Market

  2. Azure Veritabanı Geçiş Hizmeti ekranında Oluştur'u seçin.

    Azure Veritabanı Geçiş Hizmeti örneğini oluşturma

  3. Geçiş hizmeti oluşturma temelleri ekranında:

    • Aboneliği seçin.
    • Yeni bir kaynak grubu oluşturun veya var olan bir grubu seçin.
    • Azure veritabanı geçiş hizmeti örneği için bir ad belirtin.
    • Azure veritabanı geçiş hizmeti örneğini oluşturmak istediğiniz konumu seçin.
    • Hizmet modu olarak Azure ' ı seçin.
    • Fiyatlandırma katmanını seçin. Maliyetler ve fiyatlandırma katmanları hakkında daha fazla bilgi için fiyatlandırma sayfasına bakın.

    Azure veritabanı geçiş hizmeti örneği temelleri ayarlarını yapılandırma

    • Sonraki: Ağ’ı seçin.
  4. Geçiş hizmeti oluştur ağ ekranında:

    • Var olan bir sanal ağı seçin veya yeni bir ağ oluşturun. sanal ağ, kaynak SQL Server ve hedef Azure SQL Veritabanı örneğine erişimi olan Azure veritabanı geçiş hizmeti sağlar. Azure portal sanal ağ oluşturma hakkında daha fazla bilgi için Azure Portal kullanarak sanal ağ oluşturmamakalesine bakın.

    Azure veritabanı geçiş hizmeti örneği ağ ayarlarını yapılandırma

    • Ayrıntıları gözden geçirmek için gözden geçir + oluştur ' u seçin ve sonra hizmeti oluşturmak için Oluştur ' u seçin.

Geçiş projesi oluşturma

Hizmet oluşturulduktan sonra Azure portaldan bulun, açın ve yeni bir geçiş projesi oluşturun.

  1. Azure portal menüsünde tüm hizmetler' i seçin. Azure veritabanı geçiş Hizmetleri'ni arayın ve seçin.

    Azure veritabanı geçiş hizmeti 'nin tüm örneklerini bulun

  2. Azure veritabanı geçiş Hizmetleri ekranında, oluşturduğunuz Azure veritabanı geçiş hizmeti örneğini seçin.

  3. Yeni geçiş Project seçin.

    Azure veritabanı geçiş hizmeti örneğinizi bulun

  4. yeni geçiş projesi ekranında, proje için bir ad belirtin, kaynak sunucu türü metin kutusunda SQL Server' yi seçin, hedef sunucu türü metin kutusunda, Azure SQL Veritabanı' i seçin ve ardından geçiş etkinlik türünü seç ' i seçin, veri geçişi' ni seçin.

    Veritabanı Geçiş Hizmeti Projesi Oluşturma

  5. Projeyi oluşturmak ve geçiş etkinliğini çalıştırmak için Etkinlik oluştur ve çalıştır'ı seçin.

Kaynak ayrıntılarını belirtme

  1. kaynak seç ekranında, kaynak SQL Server örneği için bağlantı ayrıntılarını belirtin.

    Kaynak SQL Server örneği adı için Tam Etki Alanı Adı (FQDN) kullandığınızdan emin olun. DNS ad çözümlemenin mümkün olmadığı durumlarda IP Adresini de kullanabilirsiniz.

  2. Kaynak sunucunuza bir güvenilir sertifika yüklemediyseniz Sunucu sertifikasına güven onay kutusunu işaretleyin.

    Güvenilir sertifika yüklü değilse SQL Server, örnek başlatıldığında otomatik olarak imzalanan bir sertifika oluşturur. Bu sertifika, istemci bağlantılarında kimlik bilgilerini şifrelemek için kullanılır.

    Dikkat

    Kendinden imzalı bir sertifika kullanılarak şifrelenen TLS bağlantıları güçlü güvenlik sağlamaz. Ortadaki adam saldırılarına maruz kalabilirler. Bir üretim ortamında veya internet 'e bağlı sunucularda, otomatik olarak imzalanan sertifikalar kullanarak TLS 'ye güvenmemelisiniz.

    Önemli

    ssıs kullanırsanız, DMS şu anda kaynak sssısdb geçişini desteklememektedir, ancak ssıs projelerinizi/paketlerinizi Azure SQL Veritabanı tarafından barındırılan hedef sssısdb 'ye yeniden dağıtabilirsiniz. ssıs paketlerini geçirme hakkında daha fazla bilgi için SQL Server ıntegration Services paketlerini Azure 'a geçirmemakalesine bakın.

    Kaynak Ayrıntıları

  3. İleri ' yi seçin: veritabanlarını seçin.

Geçiş için veritabanları seçin

Azure SQL Veritabanı geçirmek istediğiniz tüm veritabanlarını veya belirli veritabanlarını seçin. DMS, seçili veritabanları için beklenen geçiş süresi sağlar. Geçiş daha fazla kabul edilebilir ise geçişe devam edin. geçiş daha uygun değilse, SQL yönetilen örneğe yakın kapalı kalma süresi ile geçiş yapmayı veya diğer seçenekler için DMS ekibine başvurmayı düşünün.

  1. Kullanılabilir veritabanları listesinden geçirmek istediğiniz veritabanlarını seçin.

  2. Beklenen kesinti süresini gözden geçirin. Kabul edilebilir ise, Ileri ' yi seçin : hedef >>seçin

    Kaynak veritabanları

Hedef ayrıntılarını belirtme

  1. hedef seç ekranında, Azure SQL Veritabanı kimlik doğrulama ayarları sağlayın.

    Hedef seçin

    Not

    şu anda, SQL kimlik doğrulaması desteklenen tek kimlik doğrulama türüdür.

  2. Ileri ' yi seçin : hedef veritabanlarına eşle ekranı, kaynak ve hedef veritabanını geçiş için eşleyin.

    Hedef veritabanı, kaynak veritabanıyla aynı veritabanı adını içeriyorsa, Azure veritabanı geçiş hizmeti varsayılan olarak hedef veritabanını seçer.

    Hedef veritabanlarıyla eşleyin

  3. Ileri ' yi seçin : yapılandırma geçiş ayarları, Tablo listesini Genişlet ve etkilenen alanların listesini gözden geçirin.

    Azure veritabanı geçiş hizmeti, hedef Azure SQL Veritabanı örneğinde bulunan tüm boş kaynak tablolarını otomatik olarak seçer. Veri içeren tabloları yeniden geçirmek isterseniz bu dikey pencerede tabloları seçmeniz gerekir.

    Tabloları seçme

  4. Ileri ' yi seçin : Özet, geçiş yapılandırmasını gözden geçirin ve etkinlik adı metin kutusunda, geçiş etkinliği için bir ad belirtin.

    Doğrulama seçeneğini belirleme

Geçişi çalıştırma

  • Geçişi Başlat' ı seçin.

    Geçiş etkinliği penceresi görünür ve etkinliğin durumu Beklemede olur.

    Etkinlik Durumu

Geçişi izleme

  1. Geçiş etkinliği ekranında Yenile'yi seçerek geçişin Durum bilgisi Tamamlandı olana kadar gösterilen verileri güncelleştirebilirsiniz.

    Etkinlik Durumu Tamamlandı

  2. hedef Azure SQL Veritabanı hedef veritabanlarını doğrulayın.

Ek kaynaklar