Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Usługa Azure Database Migration Service oferuje następujące możliwości:
Niezawodna, odporna na uszkodzenia usługa, która organizuje działania przenoszenia danych w celu zapewnienia bezproblemowego środowiska migracji.
Możliwość uruchamiania trybów migracji online (dla migracji wymagających minimalnego przestoju) lub offline (dla migracji z przestojem utrzymującym się przez okres migracji), zgodnie z wymaganiami Twojej firmy.
Elastyczność tworzenia i konfigurowania własnego środowiska Integration Runtime w celu zapewnienia własnych zasobów obliczeniowych na potrzeby uzyskiwania dostępu do źródłowego programu SQL Server i kopii zapasowych w środowisku lokalnym.
Za pomocą narzędzi automatyzacji, takich jak program PowerShell — moduł usługi Azure DataMigration Service lub interfejs wiersza polecenia platformy Azure, można migrować co najmniej jedną bazę danych na dużą skalę, w tym bazy danych w wielu wystąpieniach programu SQL Server.
Następujące przykładowe skrypty można wykorzystać, aby dopasować do swoich scenariuszy migracji przy użyciu Azure PowerShell lub Azure CLI.
| Scenariusz migracji | Język skryptów |
|---|---|
| Ocena programu SQL Server | PowerShell / Azure CLI |
| SQL Server do Azure SQL Managed Instance (przy użyciu udostępniania plików) | PowerShell / Azure CLI |
| Program SQL Server do usługi Azure SQL Managed Instance (przy użyciu usługi Azure Storage) | PowerShell / Azure CLI |
| SQL Server do SQL Server na maszynach wirtualnych platformy Azure (przy użyciu udostępnionego folderu) | PowerShell / Azure CLI |
| Program SQL Server do programu SQL Server na maszynach wirtualnych platformy Azure (przy użyciu usługi Azure Storage) | PowerShell / Azure CLI |
| Sql Server do usługi Azure SQL Database | PowerShell / Azure CLI |
| Zalecenia dotyczące SKU | PowerShell / Azure CLI |
| Kompleksowa automatyzacja migracji | PowerShell / Azure CLI |
| Kompleksowa automatyzacja migracji dla wielu baz danych | PowerShell / Azure CLI |
Wymagania wstępne
Wymagania wstępne wspólne dla wszystkich obsługiwanych scenariuszy migracji przy użyciu programu Azure PowerShell lub interfejsu wiersza polecenia platformy Azure są następujące:
Masz konto platformy Azure przypisane do jednej z wbudowanych ról wymienionych w następujący sposób:
Osoba przyczyniająca się do działania docelowego wystąpienia zarządzanego Azure SQL, programu SQL Server na maszynach wirtualnych platformy Azure lub usługi Azure SQL Database oraz do konta usługi Storage, do przekazywania plików kopii zapasowej bazy danych z udziału sieciowego SMB (Nie dotyczy usługi Azure SQL Database).
Rola czytelnika dla grup zasobów platformy Azure zawierających docelowe wystąpienie zarządzane Azure SQL, program SQL Server na maszynach wirtualnych platformy Azure lub w usłudze Azure SQL Database.
Rola właściciela lub współautora dla subskrypcji platformy Azure.
Konto platformy Azure jest wymagane tylko w przypadku uruchamiania kroków migracji i nie jest wymagane do wykonania kroków oceny ani zaleceń platformy Azure.
Utwórz docelową usługę Azure SQL Managed Instance, program SQL Server na maszynie wirtualnej platformy Azure lub usługę Azure SQL Database.
Jeśli elementem docelowym jest usługa Azure SQL Database, musisz przeprowadzić migrację schematu bazy danych ze źródła do miejsca docelowego przy użyciu środowiska aplikacji warstwy danych lub rozszerzenia SQL Database Projects dla programu Visual Studio Code.
Jeśli masz istniejącą maszynę wirtualną platformy Azure, powinna zostać zarejestrowana w rozszerzeniu agenta IaaS programu SQL Server w trybie pełnego zarządzania.
Jeśli elementem docelowym jest usługa Azure SQL Managed Instance lub program SQL Server na maszynie wirtualnej platformy Azure, upewnij się, że identyfikatory logowania używane do łączenia źródłowego programu SQL Server są członkami roli serwera sysadmin lub mają
CONTROL SERVERuprawnienia.Jeśli docelowym systemem jest usługa Azure SQL Database, upewnij się, że login używany do łączenia z źródłowym serwerem SQL jest członkiem, a
db_datareaderlogin dla docelowego serwera SQL todb_owner.Użyj jednej z następujących opcji magazynowania dla pełnych plików kopii zapasowej bazy danych i dziennika transakcji:
Udział sieciowy SMB
Konto magazynu Azure: udostępnianie plików lub kontener obiektów blob
Jeśli pliki kopii zapasowej bazy danych znajdują się w udziale sieciowym SMB, utwórz konto usługi Azure Storage, które umożliwia usłudze DMS przekazywanie plików kopii zapasowych bazy danych. Pamiętaj, aby utworzyć konto usługi Azure Storage w tym samym regionie co wystąpienie usługi Azure Database Migration Service.
Upewnij się, że kontener obiektów blob konta usługi Azure Storage jest używany wyłącznie do przechowywania plików kopii zapasowych. Wszelkie inne typy plików (
.txt,.png,.jpgitp.) zakłócają proces przywracania, co prowadzi do awarii.Usługa Azure Database Migration Service nie inicjuje żadnych kopii zapasowych, a zamiast tego używa istniejących kopii zapasowych, które mogą już być częścią planu odzyskiwania po awarii na potrzeby migracji.
Każdą kopię zapasową można zapisać w osobnym pliku kopii zapasowej lub w wielu plikach kopii zapasowej. Jednak dołączanie wielu kopii zapasowych (czyli pełnych i t-log) do jednego nośnika kopii zapasowej nie jest obsługiwane.
Użyj skompresowanych kopii zapasowych, aby zmniejszyć prawdopodobieństwo wystąpienia potencjalnych problemów związanych z migracją dużych kopii zapasowych.
Upewnij się, że konto usługi, które działa na źródłowym wystąpieniu programu SQL Server, ma uprawnienia do odczytu i zapisu w udziale sieciowym SMB zawierającym pliki kopii zapasowej bazy danych.
Źródłowy certyfikat wystąpienia programu SQL Server z bazy danych chronionej przez funkcję Transparent Data Encryption (TDE) musi zostać zmigrowany do docelowego wystąpienia usługi Azure SQL Managed Instance lub programu SQL Server na maszynie wirtualnej platformy Azure zanim nastąpi migracja danych.
Wskazówka
Jeśli baza danych zawiera poufne dane chronione przez funkcję Always Encrypted, proces migracji automatycznie migruje klucze Always Encrypted do docelowego wystąpienia zarządzanego azure SQL lub programu SQL Server na maszynie wirtualnej platformy Azure.
Jeśli kopie zapasowe bazy danych znajdują się w sieciowym udziale plików, podaj maszynę do zainstalowania własnego środowiska Integration Runtime w celu uzyskania dostępu do kopii zapasowych bazy danych i migracji ich. Moduły Azure PowerShell lub Azure CLI udostępniają klucze uwierzytelniania do rejestrowania lokalnego środowiska uruchomieniowego integracji. W ramach przygotowań do migracji upewnij się, że maszyna, na której planujesz zainstalować własne środowisko Integration Runtime, ma włączone następujące reguły zapory ruchu wychodzącego i nazwy domen:
Nazwy domen Porty wychodzące opis Chmura publiczna: {datafactory}.{region}.datafactory.azure.net
lub*.frontend.clouddatahub.net
Azure Government:{datafactory}.{region}.datafactory.azure.us
Chiny:{datafactory}.{region}.datafactory.azure.cn443 Wymagane przez własne środowisko uruchomieniowe Integration Runtime do nawiązania połączenia z usługą Migracji Danych.
W przypadku nowo utworzonej fabryki danych w chmurze publicznej znajdź nazwę FQDN z poziomu własnego klucza środowiska Integration Runtime, który ma format{datafactory}.{region}.datafactory.azure.net. Dla starej fabryki danych, jeśli nie widzisz FQDN w kluczu integracji z samodzielnym hostingiem, użyj zamiast tego *.frontend.clouddatahub.net.download.microsoft.com443 Wymagane przez samoobsługowe środowisko Integration Runtime do pobierania aktualizacji. Jeśli wyłączono automatyczną aktualizację, możesz pominąć konfigurowanie tej domeny. *.core.windows.net443 Używane przez lokalne środowisko uruchomieniowe integracji, które łączy się z kontem usługi Azure Storage do przesyłania kopii zapasowych bazy danych z udziału sieciowego Jeśli pliki kopii zapasowej bazy danych są już dostępne na koncie usługi Azure Storage, własne środowisko Integration Runtime nie jest wymagane podczas procesu migracji.
W przypadku korzystania z własnego środowiska Integration Runtime upewnij się, że maszyna, na której zainstalowano środowisko uruchomieniowe, może połączyć się ze źródłowym wystąpieniem programu SQL Server i udziałem plików sieciowych, na którym znajdują się pliki kopii zapasowej.
Port wychodzący 445 powinien być włączony, aby uzyskać dostęp do udostępniania plików w sieci.
Jeśli używasz usługi Azure Database Migration Service po raz pierwszy, upewnij się, że dostawca zasobów Microsoft.DataMigration jest zarejestrowany w subskrypcji. Możesz wykonać kroki, aby zarejestrować dostawcę zasobów
Jeśli celem migracji jest usługa Azure SQL Database, nie musisz wykonywać kopii zapasowych w celu przeprowadzenia tej migracji. Migracja do usługi Azure SQL Database jest uważana za logiczną migrację obejmującą wstępne tworzenie bazy danych i przenoszenie danych (wykonywane przez usługę DMS).
Automatyzowanie migracji bazy danych
Za pomocą modułu Azure PowerShell Az.DataMigration lub interfejsu wiersza polecenia az datamigration można migrować bazy danych, automatyzując proces tworzenia usługi Azure Database Migration Service, konfigurowanie migracji baz danych na potrzeby migracji online oraz przeprowadzanie migracji typu cutover. Istnieje kilka innych poleceń i funkcji, które są udokumentowane w przykładach platformy Azure.
Przykłady automatyzacji migracji bazy danych programu SQL Server przy użyciu interfejsu wiersza polecenia platformy Azure:
Krok 1. Tworzenie usługi Azure Database Migration Service, która będzie organizować działania migracji bazy danych.
#STEP 1: Create Database Migration Service
az datamigration sql-service create --resource-group "myRG" --sql-migration-service-name "myMigrationService" --location "EastUS2"
Krok 2. Konfigurowanie i uruchamianie migracji bazy danych online z lokalnego programu SQL Server (z kopiami zapasowymi w usłudze Azure Storage) do usługi Azure SQL Managed Instance.
#STEP 2: Start Migration
az datamigration sql-managed-instance create `
--source-location '{\"AzureBlob\":{\"storageAccountResourceId\":\"/subscriptions/mySubscriptionID/resourceGroups/myRG/providers/Microsoft.Storage/storageAccounts/dbbackupssqlbits\",\"accountKey\":\"myAccountKey\",\"blobContainerName\":\"dbbackups\"}}' `
--migration-service "/subscriptions/mySubscriptionID/resourceGroups/myRG/providers/Microsoft.DataMigration/SqlMigrationServices/myMigrationService" `
--scope "/subscriptions/mySubscriptionID/resourceGroups/myRG/providers/Microsoft.Sql/managedInstances/mySQLMI" `
--source-database-name "AdventureWorks2008" `
--source-sql-connection authentication="SqlAuthentication" data-source="mySQLServer" password="<password>" user-name="sqluser" `
--target-db-name "AdventureWorks2008" `
--resource-group myRG `
--managed-instance-name mySQLMI
Krok 3. Wykonanie migracji jednorazowej po przywróceniu wszystkich kopii zapasowych do usługi Azure SQL Managed Instance.
#STEP 3: Get migration ID and perform Cutover
$migOpId = az datamigration sql-managed-instance show --managed-instance-name "mySQLMI" --resource-group "myRG" --target-db-name "AdventureWorks2008" --expand=MigrationStatusDetails --query "properties.migrationOperationId"
az datamigration sql-managed-instance cutover --managed-instance-name "mySQLMI" --resource-group "myRG" --target-db-name "AdventureWorks2008" --migration-operation-id $migOpId
Jeśli wystąpi błąd The subscription is not registered to use namespace 'Microsoft.DataMigration'. See https://aka.ms/rps-not-found for how to register subscriptions., uruchom następujące polecenie:
Register-AzResourceProvider -ProviderNamespace "Microsoft.DataMigration"