Omówienie wymagań wstępnych dotyczących używania usługi Azure Database Migration Service

Istnieje kilka wymagań wstępnych niezbędnych do zapewnienia bezproblemowego działania usługi Azure Database Migration Service podczas przeprowadzania migracji bazy danych. Niektóre wymagania wstępne mają zastosowanie we wszystkich scenariuszach (pary źródło-cel) obsługiwanych przez usługę, podczas gdy inne wymagania wstępne są unikatowe dla konkretnego scenariusza.

Wymagania wstępne skojarzone z używaniem Azure Database Migration Service są wymienione w poniższych sekcjach.

Wymagania wstępne typowe dla różnych scenariuszy migracji

Azure Database Migration Service wymagania wstępne, które są wspólne dla wszystkich obsługiwanych scenariuszy migracji, obejmują konieczność:

  • Utwórz Virtual Network platformy Microsoft Azure dla Azure Database Migration Service przy użyciu modelu wdrażania usługi Azure Resource Manager, który zapewnia łączność lokacja-lokacja z lokalnymi serwerami źródłowymi przy użyciu usługi ExpressRoute lub sieci VPN.

  • Upewnij się, że reguły sieciowej grupy zabezpieczeń sieci wirtualnej nie blokują portu wychodzącego 443 elementu ServiceTag dla usług ServiceBus, Storage i AzureMonitor. Aby uzyskać więcej informacji na temat filtrowania ruchu sieciowej grupy zabezpieczeń sieci wirtualnej, zobacz artykuł Filtrowanie ruchu sieciowego za pomocą sieciowych grup zabezpieczeń.

  • W przypadku korzystania z urządzenia zapory przed źródłowymi bazami danych może być konieczne dodanie reguł zapory, aby umożliwić Azure Database Migration Service dostęp do źródłowych baz danych na potrzeby migracji.

  • Zapora sytemu Windows skonfigurowana pod kątem dostępu do aparatu bazy danych.

  • Włączony protokół TCP/I (domyślnie wyłączony podczas instalacji programu SQL Server Express). Aby go włączyć, wykonaj czynności opisane w artykule Enable or Disable a Server Network Protocol (Włączanie lub wyłączanie protokołu sieciowego serwera).

    Ważne

    Utworzenie wystąpienia Azure Database Migration Service wymaga dostępu do ustawień sieci wirtualnej, które zwykle nie należą do tej samej grupy zasobów. W związku z tym użytkownik tworzący wystąpienie usługi DMS wymaga uprawnień na poziomie subskrypcji. Aby utworzyć wymagane role, które można przypisać zgodnie z potrzebami, uruchom następujący skrypt:

    
    $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
    

Wymagania wstępne dotyczące migracji programu SQL Server do usługi Azure SQL Database

Oprócz Azure Database Migration Service wymagań wstępnych, które są wspólne dla wszystkich scenariuszy migracji, istnieją również wymagania wstępne dotyczące konkretnego scenariusza lub innego.

W przypadku używania Azure Database Migration Service do wykonywania SQL Server do migracji bazy danych Azure SQL Oprócz wymagań wstępnych, które są wspólne dla wszystkich scenariuszy migracji, należy spełnić następujące dodatkowe wymagania wstępne:

  • Utwórz wystąpienie usługi Azure SQL Database, które należy wykonać, postępując zgodnie ze szczegółowymi instrukcjami w artykule Tworzenie bazy danych w usłudze Azure SQL Database w Azure Portal.

  • Pobrany i zainstalowany program Data Migration Assistant w wersji 3.3 lub nowszej.

  • Otwarcie zapory systemu Windows w celu zezwolenia usłudze Azure Database Migration Service na dostęp do źródłowego wystąpienia programu SQL Server, czyli domyślnie portu TCP 1433.

  • Jeśli uruchomiono wiele nazwanych wystąpień programu SQL Server przy użyciu portów dynamicznych, konieczne może być włączenie usługi SQL Browser Service i zezwolenie na dostęp do portu UDP 1434 przez zapory, tak aby usługa Azure Database Migration Service mogła połączyć się z nazwanym wystąpieniem na serwerze źródłowym.

  • Utwórz regułę zapory na poziomie serwera dla SQL Database, aby umożliwić Azure Database Migration Service dostęp do docelowych baz danych. Podaj zakres podsieci sieci wirtualnej używanej dla Azure Database Migration Service.

  • Sprawdź, czy poświadczenia użyte do nawiązania połączenia ze źródłowym wystąpieniem programu SQL Server mają uprawnienia CONTROL SERVER.

  • Upewnij się, że poświadczenia używane do nawiązywania połączenia z docelową bazą danych mają uprawnienia CONTROL DATABASE w docelowej bazie danych.

    Uwaga

    Aby uzyskać pełną listę wymagań wstępnych wymaganych do użycia Azure Database Migration Service do przeprowadzania migracji z SQL Server do usługi Azure SQL Database, zobacz samouczek Migrowanie SQL Server do usługi Azure SQL Database.

Wymagania wstępne dotyczące migracji programu SQL Server do usługi Azure SQL Managed Instance

  • Utwórz SQL Managed Instance, postępując zgodnie ze szczegółami w artykule Tworzenie Azure SQL Managed Instance w Azure Portal.

  • Otwórz zapory, aby zezwolić na ruch SMB na porcie 445 dla adresu IP lub zakresu podsieci Azure Database Migration Service.

  • Otwarcie zapory systemu Windows w celu zezwolenia usłudze Azure Database Migration Service na dostęp do źródłowego wystąpienia programu SQL Server, czyli domyślnie portu TCP 1433.

  • Jeśli uruchomiono wiele nazwanych wystąpień programu SQL Server przy użyciu portów dynamicznych, konieczne może być włączenie usługi SQL Browser Service i zezwolenie na dostęp do portu UDP 1434 przez zapory, tak aby usługa Azure Database Migration Service mogła połączyć się z nazwanym wystąpieniem na serwerze źródłowym.

  • Upewnienie się, że dane logowania używane do połączenia źródłowego programu SQL Server i docelowego wystąpienia zarządzanego należą do roli administratora systemu serwera.

  • Utworzenie udziału sieciowego umożliwiającego wykonanie kopii zapasowej źródłowej bazy danych za pomocą usługi Azure Database Migration Service.

  • Upewnienie się, że konto usługi z uruchomionym źródłowym wystąpieniem programu SQL Server ma uprawnienia w utworzonym udziale sieciowym oraz że konto komputera serwera źródłowego ma uprawnienia odczytu i zapisu do tego samego udziału.

  • Zapisanie nazwy i hasła użytkownika systemu Windows, który ma uprawnienia do pełnej kontroli nad wcześniej utworzonym udziałem sieciowym. Azure Database Migration Service personifikuje poświadczenia użytkownika w celu przekazania plików kopii zapasowej do kontenera usługi Azure Storage na potrzeby operacji przywracania.

  • Utwórz kontener obiektów blob i pobierz identyfikator URI sygnatury dostępu współdzielonego, wykonując kroki opisane w artykule Zarządzanie zasobami Azure Blob Storage przy użyciu Eksplorator usługi Storage. Pamiętaj, aby wybrać wszystkie uprawnienia (odczyt, zapis, usuwanie, lista) w oknie zasad podczas tworzenia identyfikatora URI sygnatury dostępu współdzielonego.

  • Upewnij się, że zarówno Azure Database Migration Service adres IP, jak i podsieć Azure SQL Managed Instance mogą komunikować się z kontenerem obiektów blob.

    Uwaga

    Aby uzyskać pełną listę wymagań wstępnych wymaganych do użycia Azure Database Migration Service do przeprowadzania migracji z SQL Server do SQL Managed Instance, zobacz samouczek Migrowanie SQL Server do SQL Managed Instance.

Następne kroki

Aby zapoznać się z omówieniem dostępności Azure Database Migration Service i regionalnej, zobacz artykuł What is the Azure Database Migration Service (Co to jest Azure Database Migration Service).