Migrowanie identyfikatorów logowania i grup SQL

Ukończone

Aby zapewnić bezproblemowe i bezpieczne przejście baz danych programu SQL Server do usługi Azure SQL, zrozumienie i skuteczne zarządzanie migracją informacji o zabezpieczeniach jest niezbędne.

Zdecyduj, kiedy przeprowadzić migrację identyfikatorów logowania i grup SQL

Wyobraź sobie dużą organizację z znaczącą lokalną infrastrukturą programu SQL Server, która obsługuje różne jednostki biznesowe. Każda jednostka biznesowa ma własny zestaw identyfikatorów logowania SQL, ról użytkowników i uprawnień dostosowanych do określonych potrzeb. Organizacja decyduje się na migrację tych baz danych do usługi Azure SQL Database w celu korzystania z zalet skalowalności chmury.

W tym scenariuszu migracja identyfikatorów logowania przed migracją bazy danych może spowodować niepotrzebną złożoność fazy testowania.

Migrowanie logowań na końcu projektu migracji bazy danych może ułatwić testowanie, szczególnie w złożonych scenariuszach. Jeśli logowania są migrowane z góry, może to prowadzić do opóźnień testowania ze względu na zmieniające się schematy bazy danych. Oczekiwanie na migrację identyfikatorów logowania umożliwia konfiguracje zabezpieczeń w celu dostosowania ich do ostatecznej struktury, upraszczając proces migracji, zwłaszcza gdy zabezpieczenia zależne od tabeli mają kluczowe znaczenie dla ochrony danych.

Wyzwania Wyjaśnienie
Złożona struktura uprawnień Migrowanie identyfikatorów logowania umożliwia później dostosowanie uprawnień w miarę rozwoju struktury bazy danych podczas migracji.
Opóźnienia testowania Wczesne migrowanie logowań może spowolnić testowanie, komplikując walidację zabezpieczeń wraz ze zmianami schematu.
Zabezpieczenia zależne od tabeli Opóźnienie migracji logowania umożliwia dostosowanie konfiguracji zabezpieczeń w celu dopasowania ich do końcowych struktur baz danych, jeśli zmieniają się podczas migracji.

W naszym scenariuszu takie podejście pozwala skupić się na zapewnieniu, że środki zabezpieczeń idealnie pasują do sfinalizowanej struktury bazy danych, co zmniejsza potencjalne komplikacje i zwiększa możliwości zarządzania projektem migracji.

Korzystanie z rozszerzenia Azure Migration

W ramach zadań po migracji można użyć rozszerzenia migracji platformy Azure w narzędziu Azure Data Studio , aby przeprowadzić migrację nazw logowania i ról serwera z lokalnego programu SQL Server do miejsca docelowego usługi Azure SQL. To środowisko migracji logowania automatyzuje zadania ręczne, takie jak synchronizacja identyfikatorów logowania z odpowiednimi mapowaniami użytkowników i replikowanie uprawnień serwera i ról serwera.

Obecnie rozszerzenie migracji obsługuje tylko usługę Azure SQL Managed Instance lub program SQL Server na docelowych miejscach maszyn wirtualnych platformy Azure.

  • Azure SQL Managed Instance — zarówno konta systemu Windows, jak i identyfikatory logowania SQL.
  • Program SQL Server na maszynie wirtualnej platformy Azure — tylko identyfikatory logowania SQL

Jeśli migracja bazy danych nie została ukończona i proces migracji logowania zostanie uruchomiony, migracja nazw logowania i ról serwera będzie nadal wykonywana, ale mapowania logowania/ról nie będą wykonywane poprawnie. Ten proces migracji logowania automatyzuje zadania ręczne, w tym synchronizowanie identyfikatorów logowania ze skojarzonymi mapowaniami użytkowników i replikowanie uprawnień i ról serwera.

Aby rozpocząć proces migracji logowania, możesz użyć rozszerzenia Azure SQL Migration dla programu Azure Data Studio, programu PowerShell lub interfejsu wiersza polecenia platformy Azure.

Wykonaj następujące kroki, aby przeprowadzić migrację identyfikatorów logowania przy użyciu rozszerzenia migracji w narzędziu Azure Data Studio:

  1. Uruchom rozszerzenie Azure SQL Migration z poziomu narzędzia Azure Data Studio i uruchom kreatora migracji logowania programu SQL Server.

    Zrzut ekranu przedstawiający nową opcję migracji logowania z narzędzia Azure Data Studio.

  2. W kroku 1. Obiekt docelowy usługi Azure SQL nawiąż połączenie z obiektem docelowym usługi Azure SQL.

  3. W kroku 2. Wybierz identyfikatory logowania do migracji, wybierz swoje identyfikatory logowania ze źródłowego wystąpienia programu SQL Server.

  4. W kroku 3. Stan migracji monitoruj proces migracji logowania. Po pomyślnym zakończeniu migracji logowania (lub jeśli wystąpią błędy), na stronie zostaną wyświetlone odpowiednie aktualizacje.

    Zrzut ekranu przedstawiający stan migracji logowania w narzędziu Azure Data Studio.

Korzystanie z usługi DMA

W ramach migracji logowania usługa Data Asystent migracji przypisuje uprawnienia do zabezpieczania na docelowym serwerze SQL Server, ponieważ istnieją w źródłowym programie SQL Server. Jeśli logowanie już istnieje w docelowym programie SQL Server, dane Asystent migracji migrują tylko uprawnienia przypisane do zabezpieczanych i nie tworzą ponownie całego identyfikatora logowania. Dane Asystent migracji najlepiej mapować identyfikator logowania do użytkowników bazy danych, jeśli identyfikator logowania już istnieje na serwerze docelowym.

Obecnie Asystent migracji danych nie są obsługiwane:

  • Logowania skojarzone z autonomicznym certyfikatem zabezpieczeń (identyfikatory logowania mapowane na certyfikat)
  • Autonomiczny klucz asymetryczny (identyfikatory logowania mapowane na klucz asymetryczny)
  • Logowania mapowane na poświadczenia.
  • Domyślnie Asystent migracji danych wybiera wszystkie kwalifikowane identyfikatory logowania do migracji. Opcjonalnie możesz wybrać określone identyfikatory logowania, aby przeprowadzić migrację1.

Uwaga

Chociaż usługa Database Asystent migracji jest przydatnym narzędziem, zalecamy korzystanie z usługi Azure Database Migration Service w przypadku dużych migracji i ulepszonego środowiska ogólnego, które jest dostępne jako rozszerzenie azure SQL Migration dla usługi Azure Data Studio lub za pośrednictwem witryny Azure Portal lub za pośrednictwem programu Azure PowerShell i interfejsu wiersza polecenia platformy Azure.

Skrypt MoveLogins

Skrypt MoveLogins pomaga w transferowaniu informacji logowania z lokalnych serwerów SQL do usługi Azure SQL Database lub innych ofert PaaS.

Chociaż Asystent migracji danych (DMA) ma możliwość transferu informacji zabezpieczających i wykonuje pełny graf zależności w celu zapewnienia prawidłowego przesyłania uprawnień, skrypt MoveLogins zapewnia dodatkową opcję. Umożliwia ona wyszukiwanie w usłudze Active Directory dla użytkowników, co umożliwia uzyskanie głównej nazwy użytkownika (UPN), funkcji obecnie nieobsługiwanej przez usługę DMA.

Skrypt napisany w programie PowerShell generuje skrypt języka T-SQL, który można zastosować do docelowego środowiska SQL w celu transferu identyfikatorów logowania, użytkowników bazy danych, ról i uprawnień. Nie wykonuje poleceń w środowisku docelowym. Przed zastosowaniem go do środowiska docelowego należy dokładnie przejrzeć wygenerowane dane wyjściowe skryptu.

Skrypt generuje różne wyniki w zależności od tego, czy używasz usługi Azure SQL Database, czy usługi Azure SQL Managed Instance. W usłudze Azure SQL Database nie można tworzyć identyfikatorów logowania firmy Microsoft ani powiązanych użytkowników bazy danych; Zamiast tego użytkownicy firmy Microsoft Entra są tworzeni na poziomie bazy danych. W przypadku usługi Azure SQL Managed Instance jest ona podobna do lokalnego programu SQL Server z identyfikatorami logowania na poziomie serwera i użytkownikami bazy danych.

Uwaga

Zalecamy rozpoczęcie od dedykowanego narzędzia migracji, takiego jak rozszerzenie migracji platformy Azure w celu przeniesienia identyfikatorów logowania. Jeśli wystąpią jakiekolwiek problemy z tymi zalecanymi narzędziami, możesz rozważyć alternatywne metody, takie jak użycie skryptu MoveLogins.