Azure Veritabanı Geçiş Hizmeti'ni kullanmak için önkoşullara genel bakış

Azure Veritabanı Geçiş Hizmeti'nin veritabanı geçişlerini gerçekleştirirken sorunsuz bir şekilde çalışmasını sağlamak için birkaç önkoşul gereklidir. Bazı önkoşullar, hizmet tarafından desteklenen tüm senaryolarda (kaynak-hedef çiftleri) uygulanırken bazıları belirli bir senaryoya özeldir.

Azure Veritabanı Geçiş Hizmeti kullanımıyla ilişkili önkoşullar aşağıdaki bölümlerde listelenmiştir.

Geçiş senaryoları genelinde ortak olan önkoşullar

Desteklenen tüm geçiş senaryolarında yaygın olan Azure Veritabanı Geçiş Hizmeti önkoşulları şunlardır:

  • ExpressRoute veya VPN kullanarak ş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 bir Microsoft Azure Sanal Ağ oluşturun.

  • Sanal ağ Ağ Güvenlik Grubu (NSG) kurallarınızın ServiceBus, Depolama ve AzureMonitor için ServiceTag'in 443 numaralı giden bağlantı noktasını engellemediğinden emin olun. Sanal ağ NSG trafiği filtreleme hakkında daha fazla ayrıntı için Ağ trafiğini ağ güvenlik gruplarıyla filtreleme makalesine bakın.

  • Kaynak veritabanlarınızın önünde bir güvenlik duvarı gereci kullanırken, Azure Veritabanı Geçiş Hizmeti geçiş için kaynak veritabanlarına erişmesine izin vermek için güvenlik duvarı kuralları eklemeniz gerekebilir.

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

  • 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.

    Önemli

    bir Azure Veritabanı Geçiş Hizmeti örneği oluşturmak için normalde aynı kaynak grubu içinde olmayan sanal ağ ayarlarına erişim gerekir. Sonuç olarak, DMS örneğini oluşturan kullanıcı abonelik düzeyinde izin gerektirir. Gerektiğinde 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/*/write", `
    "Microsoft.DataMigration/*/delete", `
    "Microsoft.DataMigration/*/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-DmsContributorRole() {
    $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-DmsContributorRole
    

SQL Server'ı Azure SQL Veritabanı'na geçirmek için önkoşullar

Tüm geçiş senaryoları için ortak olan Azure Veritabanı Geçiş Hizmeti önkoşullara ek olarak, bir senaryo veya başka bir senaryo için özel olarak geçerli olan önkoşullar da vardır.

Azure Veritabanı Geçiş Hizmeti kullanarak Azure SQL Veritabanı geçişlerine SQL Server gerçekleştirirken, tüm geçiş senaryolarında ortak olan önkoşullara ek olarak aşağıdaki ek önkoşulları ele aldığınızdan emin olun:

  • Azure portal Azure SQL Veritabanında veritabanı oluşturma makalesindeki ayrıntıları izleyerek gerçekleştirdiğiniz bir Azure SQL Veritabanı örneği oluşturun.

  • Data Migration Yardımcısı 3.3 veya üzeri sürümünü indirip yükleyin.

  • Azure Veritabanı Geçiş Hizmeti'ne kaynak SQL Server erişimi sağlamak için Windows güvenlik duvarınızı açın. Varsayılan ayarlarda 1433 numaralı TCP bağlantı noktası kullanılır.

  • Dinamik bağlantı noktası kullanarak birden fazla adlandırılmış SQL Server örneği çalıştırıyorsanız, Azure Veritabanı Geçiş Hizmeti'nin kaynak sunucunuzdaki adlandırılmış örneğe bağlanabilmesi için SQL Browser Hizmeti'ni etkinleştirebilir ve güvenlik duvarınızda 1434 numaralı UDP bağlantı noktasına erişim izni verebilirsiniz.

  • Azure Veritabanı Geçiş Hizmeti hedef veritabanlarına erişmesine izin vermek için SQL Veritabanı için sunucu düzeyinde bir güvenlik duvarı kuralı oluşturun. Azure Veritabanı Geçiş Hizmeti için kullanılan sanal ağın alt ağ aralığını sağlayın.

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

  • Hedef veritabanına bağlanmak için kullanılan kimlik bilgilerinin hedef veritabanında CONTROL DATABASE iznine sahip olduğundan emin olun.

    Not

    SQL Server'den Azure SQL Veritabanına geçişleri gerçekleştirmek için Azure Veritabanı Geçiş Hizmeti kullanmak için gereken önkoşulların tam listesi için SQL Server Azure SQL Veritabanına Geçirme öğreticisine bakın.

SQL Server'ı Azure SQL Yönetilen Örneği'ne geçirmek için önkoşullar

  • Azure portal Azure SQL Yönetilen Örneği oluşturma makalesindeki ayrıntıları izleyerek bir SQL Yönetilen Örneği oluşturun.

  • Azure Veritabanı Geçiş Hizmeti IP adresi veya alt ağ aralığı için 445 numaralı bağlantı noktasında SMB trafiğine izin vermek için güvenlik duvarlarınızı açın.

  • Azure Veritabanı Geçiş Hizmeti'ne kaynak SQL Server erişimi sağlamak için Windows güvenlik duvarınızı açın. Varsayılan ayarlarda 1433 numaralı TCP bağlantı noktası kullanılır.

  • Dinamik bağlantı noktası kullanarak birden fazla adlandırılmış SQL Server örneği çalıştırıyorsanız, Azure Veritabanı Geçiş Hizmeti'nin kaynak sunucunuzdaki adlandırılmış örneğe bağlanabilmesi için SQL Browser Hizmeti'ni etkinleştirebilir ve güvenlik duvarınızda 1434 numaralı UDP bağlantı noktasına erişim izni verebilirsiniz.

  • Kaynak SQL Server ve hedef Yönetilen Örnek bağlantısı kurmak için kullanılan oturum açma bilgilerinin sysadmin sunucu rolüne üye olduğundan emin olun.

  • Azure Veritabanı Geçiş Hizmeti'nin kaynak veritabanını yedeklemek için kullanabileceği bir ağ paylaşımı oluşturun.

  • Kaynak SQL Server örneğini çalıştıran hizmet hesabının oluşturduğunuz ağ paylaşımında yazma ayrıcalıklarına sahip olduğundan ve kaynak sunucunun bilgisayar hesabının aynı paylaşımda okuma/yazma erişimine sahip olduğundan emin olun.

  • Önceden oluşturduğunuz ağ paylaşımında tam denetim ayrıcalığına sahip olan Windows kullanıcısını (ve parolasını) not edin. Azure Veritabanı Geçiş Hizmeti, yedekleme dosyalarını geri yükleme işlemi için Azure Depolama kapsayıcısına yüklemek için kullanıcı kimlik bilgilerinin kimliğine bürüner.

  • Depolama Gezgini ile Azure Blob Depolama kaynaklarını yönetme makalesindeki adımları kullanarak bir blob kapsayıcısı oluşturun ve SAS URI'sini alın. SAS URI'sini oluştururken ilke penceresindeki tüm izinleri (Okuma, Yazma, Silme, Listeleme) seçtiğinizden emin olun.

  • Hem Azure Veritabanı Geçiş Hizmeti IP adresinin hem de Azure SQL Yönetilen Örneği alt ağın blob kapsayıcısıyla iletişim kuraadığından emin olun.

    Not

    SQL Server'den SQL Yönetilen Örneği geçişleri gerçekleştirmek üzere Azure Veritabanı Geçiş Hizmeti kullanmak için gereken önkoşulların tam listesi için bkz. SQL Server geçirme SQL Yönetilen Örneği.

Sonraki adımlar

Azure Veritabanı Geçiş Hizmeti ve bölgesel kullanılabilirliğe genel bakış için Azure Veritabanı Geçiş Hizmeti nedir? makalesine bakın.