Migrowanie do usługi Azure SQL Database przy użyciu rozszerzenia migracji usługi Azure SQL Database
Jeśli możesz sobie pozwolić na przełączenie bazy danych w tryb offline podczas migracji na platformę Azure, możesz użyć kilku narzędzi.
W naszym scenariuszu produkcji rowerów baza danych HR jest uważana za krytyczną dla działania firmy, ale rzadko jest używana w weekendy. Zaplanowano przeprowadzenie migracji offline między piątkowym wieczorem a poniedziałkowym rankiem, ale chcesz ocenić najlepszą metodę migracji.
Przyjęto założenie, że wszystkie testy przed migracją zostały wykonane z rozszerzeniem migracji usługi Azure SQL dla usługi Azure Data Studio lub Azure Migrate. Ten proces gwarantuje, że rozwiązano problemy z funkcją i zgodnością.
Migrowanie przy użyciu rozszerzenia migracji usługi Azure SQL dla usługi Azure Data Studio
Rozszerzenie migracji usługi Azure SQL dla usługi Azure Data Studio to narzędzie, które ułatwia przygotowanie do migracji baz danych programu SQL Server na platformę Azure. Ocenia gotowość do migracji, zaleca najlepsze zasoby platformy Azure dla Twoich potrzeb i ułatwia proces migracji. Zalecamy użycie rozszerzenia dla baz danych o małym lub średnim rozmiarze.
Rozszerzenie migracji usługi Azure SQL korzysta z najnowszej wersji usług Data Migration Services i zawiera zaawansowaną funkcję oceny, która może ocenić, czy bazy danych programu SQL Server są gotowe do migracji do usługi Azure SQL.
Ponadto można migrować wiele baz danych programu SQL Server przy użyciu rozszerzenia migracji usługi Azure SQL bez opłat.
Poniższe kroki przedstawiają proces migracji do usługi Azure SQL Database przy użyciu rozszerzenia Azure SQL Migration dla usługi Azure Data Studio.
Krok | opis |
---|---|
Instalacja | Zainstaluj program Azure Data Studio i rozszerzenie azure SQL Migration. Otwórz narzędzie Azure Data Studio i uruchom kreatora Migracja do usługi Azure SQL Migration. Ten kreator przeprowadzi Cię przez proces migracji. |
Krok 1. Bazy danych do oceny | Wybierz bazy danych, które chcesz migrować. |
Krok 2. Wyniki oceny i zalecenia | Oceń ich gotowość do migracji. Narzędzie identyfikuje wszelkie potencjalne problemy, które mogą mieć wpływ na proces migracji. Zbieranie danych wydajności z bieżącej bazy danych. Te dane służą do dostarczania zaleceń dotyczących konfiguracji usługi Azure SQL. |
Krok 3. Cel platformy Azure | Wybierz konto platformy Azure i docelową usługę Azure SQL Database. |
Krok 4. Azure Database Migration Service | Wybierz istniejącą usługę Azure Database Migration Service lub utwórz nową. |
Krok 5. Konfiguracja źródła danych | Wprowadź poświadczenia używane do nawiązania połączenia ze źródłem z własnego środowiska Integration Runtime. Wybierz tabele, które mają być migrowane ze źródła do miejsca docelowego. Przed wybraniem tabel do migracji upewnij się, że schemat bazy danych został utworzony ze źródła do miejsca docelowego przy użyciu rozszerzenia dacpac, rozszerzenia SQL Database Projects w narzędziu Azure Data Studio lub DMA. |
Krok 6. Podsumowanie | Przejrzyj informacje o migracji i rozpocznij proces migracji. |
Usługa Database Migration Service optymalizuje proces migracji, pomijając puste tabele, nawet jeśli je wybierzesz.
Ważne
Obecnie usługa Azure SQL Database nie obsługuje migracji nazw tabel zawierających znaki dwubajtowe. Aby obejść ten problem, można tymczasowo zmienić nazwy tych tabel przed migracją, a następnie przywrócić je do oryginalnych nazw po zakończeniu migracji.
Stan migracji
Istnieje kilka stanów, które aktualizują postęp migracji.
Przygotowywanie do kopiowania: usługa jest w trakcie wyłączania autostatów, wyzwalaczy i indeksów w tabeli docelowej.
Kopiowanie: trwa kopiowanie danych ze źródłowej bazy danych do docelowej bazy danych.
Zakończono kopiowanie: kopiowanie danych zostało zakończone, a usługa czeka na zakończenie kopiowania w innych tabelach.
Ponowne kompilowanie indeksów: usługa ponownie kompiluje indeksy w tabelach docelowych.
Powodzenie: wszystkie dane są kopiowane, a indeksy zostaną ponownie skompilowane.
Zagadnienia dotyczące wydajności
Szybkość migracji w dużym stopniu zależy od docelowej jednostki SKU usługi Azure SQL Database i hosta własnego środowiska Integration Runtime. Zdecydowanie zalecamy skalowanie zasobów obliczeniowych usługi Azure SQL Database w górę przed zainicjowaniem procesu migracji w celu uzyskania optymalnego środowiska migracji.
Podczas podejmowania decyzji o zainstalowaniu własnego środowiska Integration Runtime na serwerze upewnij się, że ta maszyna może obsługiwać obciążenie procesora i pamięci operacji kopiowania danych.
Migracja usługi Azure SQL Database może być wolna z dużą liczbą tabel ze względu na czas potrzebny usłudze Azure Data Factory (ADF) na rozpoczęcie działań, nawet w przypadku małych tabel.
Migracja tabel z dużymi kolumnami obiektów blob może zakończyć się niepowodzeniem z powodu przekroczenia limitu czasu.
Zalecamy maksymalnie 10 współbieżnych migracji baz danych na własne środowisko Integration Runtime na jednym komputerze. Skalowanie w poziomie własnego środowiska uruchomieniowego lub tworzenie oddzielnych wystąpień na różnych komputerach w celu zwiększenia współbieżnych migracji bazy danych.
Monitorowanie migracji
Po rozpoczęciu migracji bazy danych możesz monitorować postęp w narzędziu Azure Data Studio. Postęp można również śledzić w witrynie Azure Portal w ramach zasobu usługi Azure Database Migration Service.
Monitorowanie migracji z usługi Azure Data Studio
W obszarze Stan migracji bazy danych możesz śledzić migracje, które są w toku, zakończone i zakończone niepowodzeniem (jeśli istnieją) lub wyświetlić wszystkie migracje bazy danych.
Wybierz pozycję Migracje baz danych w toku na pulpicie nawigacyjnym migracji, aby wyświetlić trwające migracje.
Wybierz nazwę bazy danych, aby uzyskać więcej szczegółów.
Właściwość Stan migracji zmieni się na Zakończenie, a następnie na Powodzenie po zakończeniu migracji.
Monitorowanie migracji z witryny Azure Portal
Alternatywnie możesz również monitorować aktywność migracji przy użyciu usługi Azure Database Migration Service.
Aby monitorować migrację bazy danych, zazwyczaj przejdź do witryny Azure Portal i znajdź swoje wystąpienie usługi Database Migration Service. Po zlokalizowaniu usługi możesz wyświetlić jej omówienie wystąpienia. Wybierz pozycję Monitoruj migracje , aby uzyskać dostęp do szczegółowych informacji o trwającej migracji bazy danych.
Gdy stan migracji to Powodzenie, przejdź do serwera docelowego i zweryfikuj docelową bazę danych. Sprawdź schemat i dane bazy danych.
Migrowanie na dużą skalę
Możesz również przeprowadzić migrację bazy danych w trybie offline ze środowiska lokalnego programu SQL Server do usługi Azure SQL Database przy użyciu programu PowerShell lub interfejsu wiersza polecenia platformy Azure.
W poniższym przykładzie baza danych AdventureWorks jest migrowana do usługi Azure SQL Database.
$sourcePass = ConvertTo-SecureString "password" -AsPlainText -Force
$targetPass = ConvertTo-SecureString "password" -AsPlainText -Force
New-AzDataMigrationToSqlDb `
-ResourceGroupName MyGroup `
-SqlDbInstanceName myserver `
-Kind "SqlDb" `
-TargetDbName AdventureWorks `
-SourceDatabaseName AdventureWorks `
-SourceSqlConnectionAuthentication SQLAuthentication `
-SourceSqlConnectionDataSource myserver.microsoft.com `
-SourceSqlConnectionUserName user `
-SourceSqlConnectionPassword $sourcePass `
-Scope "/subscriptions/MySubscriptionID/resourceGroups/MyGroup/providers/Microsoft.Sql/servers/myserver" `
-TargetSqlConnectionAuthentication SQLAuthentication `
-TargetSqlConnectionDataSource myserver.database.windows.net `
-TargetSqlConnectionUserName user `
-TargetSqlConnectionPassword $targetPass `
-MigrationService "/subscriptions/MySubscriptionID/resourceGroups/MyGroup/providers/Microsoft.DataMigration/SqlMigrationServices/MyService"
Poniższy przykład migruje podzbiór tabel z bazy danych AdventureWorks .
New-AzDataMigrationToSqlDb `
-ResourceGroupName MyGroup `
-SqlDbInstanceName myserver `
-Kind "SqlDb" `
-TargetDbName AdventureWorks `
-SourceDatabaseName AdventureWorks `
-SourceSqlConnectionAuthentication SQLAuthentication `
-SourceSqlConnectionDataSource myserver.microsoft.com `
-SourceSqlConnectionUserName user `
-SourceSqlConnectionPassword $sourcePass `
-Scope "/subscriptions/MySubscriptionID/resourceGroups/MyGroup/providers/Microsoft.Sql/servers/myserver" `
-TargetSqlConnectionAuthentication SQLAuthentication `
-TargetSqlConnectionDataSource myserver.database.windows.net `
-TargetSqlConnectionUserName user `
-TargetSqlConnectionPassword $targetPass `
-TableList "[Person].[Person]", "[Person].[EmailAddress]" `
-MigrationService "/subscriptions/MySubscriptionID/resourceGroups/MyGroup/providers/Microsoft.DataMigration/SqlMigrationServices/MyService"
Aby dowiedzieć się więcej na temat dostępnych poleceń programu PowerShell i interfejsu wiersza polecenia platformy Azure rozszerzenia migracji platformy Azure, zapoznaj się z następującymi linkami: Moduł programu PowerShell dla rozszerzenia migracji danych i interfejsu wiersza polecenia platformy Azure na potrzeby rozszerzenia migracji danych.