Przenoszenie danych do usługi SQL Managed Instance
Wiele migracji obejmuje okres, w przypadku gdy lokalna baza danych i baza danych w chmurze muszą być synchronizowane. Na przykład może wystąpić czas, kiedy klienci wprowadzają zmiany w obu bazach danych.
Przeprowadzono migrację bazy danych produktów detalicznych sportowych do usługi Azure SQL Managed Instance. Witryna internetowa korzysta już z bazy danych w chmurze. Zaczynasz ponownie konfigurować klientów, aby używali nowej bazy danych. Podjęto decyzję o przeniesieniu użytkowników do nowego systemu w partiach. W przypadku każdego zespołu zajmiemy trochę czasu, aby rozwiązać wszelkie problemy przed migracją kolejnych użytkowników. Takie podejście umożliwia rozwiązywanie problemów i rozwiązywanie problemów bez zakłócania działania wszystkich użytkowników jednocześnie. Następnie ponownie skonfigurujesz system analizy danych, aby korzystał z nowej bazy danych na platformie Azure. W tym czasie chcesz zapewnić synchronizację baz danych w chmurze i lokalnych co godzinę.
Poznasz różne metody implementowania synchronizacji danych. Te metody można również stosować do selektywnego migrowania danych, jeśli wymagane jest przesyłanie tylko podzestawu tabel. Ta elastyczność umożliwia bardziej dostosowane podejście do migracji danych.
Opcje łączności z serwerami lokalnymi
Często chcesz przechowywać dane w lokalnych bazach danych synchronizowanych z usługą Azure SQL Managed Instance. Możesz na przykład przeprowadzić migrację aplikacji klienckich do nowej bazy danych, co oznacza okres, w którym klienci łączą się z obiem bazami danych.
Przed wybraniem metody synchronizacji danych należy upewnić się, że masz bezpieczną łączność. Dostępne są trzy różne opcje łączności umożliwiające nawiązanie komunikacji między komputerami lokalnymi i zasobami na platformie Azure.
- Punkt-lokacja. Połączenie bramy VPN Gateway typu punkt-lokacja pozwala utworzyć bezpieczne połączenie z siecią wirtualną z indywidualnego komputera klienckiego.
- Lokacja-lokacja. Brama sieci VPN typu lokacja-lokacja służy do łączenia całej lokacji lokalnej z siecią platformy Azure.
- ExpressRoute. Usługa Azure ExpressRoute umożliwia tworzenie prywatnych połączeń między centrami danych platformy Azure i infrastrukturą lokalną lub infrastrukturą w środowisku kolokacji. Połączenia usługi ExpressRoute nie przechodzą przez publiczny Internet i oferują większą niezawodność, szybsze szybkości, mniejsze opóźnienia i wyższe zabezpieczenia niż typowe połączenia internetowe.
Publiczny punkt końcowy
Publiczny punkt końcowy dla usługi SQL Managed Instance ułatwia nawiązywanie połączenia z bazą danych z Internetu bez korzystania z sieci VPN i jest przeznaczony tylko do komunikacji danych. Publiczny punkt końcowy dla danych może jednocześnie współistnieć z prywatnym punktem końcowym. Ze względów bezpieczeństwa implementacja umożliwia rozdzielenie obowiązków (SoD) między administratorem bazy danych a administratorem sieci podczas włączania publicznego punktu końcowego.
Aby włączyć publiczny punkt końcowy dla wystąpienia zarządzanego, wymagane są dwa kroki. W przypadku usługi SoD potrzebne są dwie oddzielne role z następującymi uprawnieniami bazy danych i sieci, aby wykonać następujące kroki:
- Administrator bazy danych, który ma uprawnienia kontroli dostępu opartej na rolach w zakresie Microsoft.Sql/managedInstances/* musi uruchomić skrypt programu PowerShell, aby włączyć publiczny punkt końcowy dla wystąpienia zarządzanego.
- Administrator sieci, który ma uprawnienia kontroli dostępu opartej na rolach w zakresie Microsoft.Network/* musi otworzyć port 3342 używany przez publiczny punkt końcowy w sieciowej grupie zabezpieczeń i udostępnić trasę zdefiniowaną przez użytkownika, aby uniknąć routingu asymetrycznego.
Wybieranie metody synchronizacji
Za pomocą wielu metod można synchronizować dane z wystąpienia zarządzanego usługi SQL Database z serwerem lokalnym i z powrotem.
Natywne tworzenie kopii zapasowej i przywracanie
Bazę danych w usłudze Azure SQL Managed Instance można przywrócić z pliku usługi Azure Blob Storage przy użyciu sygnatury dostępu współdzielonego (SAS).
Obejmuje to utworzenie poświadczeń z dostępem do usługi Azure Blob Storage, a następnie użycie BACKUP DATABASE
polecenia z opcją COPY_ONLY
. Jeśli baza danych jest większa niż 200 GB, możesz użyć rozłożonej kopii zapasowej, podając kilka lokalizacji adresów URL.
BACKUP DATABASE YourDatabase TO URL = 'https://youraccount.blob.core.windows.net/yourcontainer/yourdatabase.bak' WITH COPY_ONLY
Aby przywrócić bazę danych w usłudze SQL Managed Instance:
RESTORE DATABASE YourDatabase FROM URL = 'https://youraccount.blob.core.windows.net/yourcontainer/yourdatabase.bak'
Plik BACPAC przy użyciu pakietu SqlPackage
Plik BACPAC to zasadniczo spakowana wersja metadanych i danych bazy danych. Mimo że ta metoda wdrażania jest zgodna z usługą SQL Database, wystąpienie zarządzane SQL nie obsługuje migracji za pośrednictwem pliku BACPAC w witrynie Azure Portal. Alternatywnie narzędzie SQLPackage powinno być używane z plikiem BACPAC.
Program kopiowania zbiorczego (BCP)
Narzędzie BCP to narzędzie wiersza polecenia, które eksportuje tabele do plików, aby można je było zaimportować. Użyj tego podejścia, aby przeprowadzić migrację z pojedynczej usługi SQL Database do wystąpienia zarządzanego SQL i z powrotem.
Azure Data Factory (ADF)
Usługa Azure Data Factory jest tworzona na potrzeby przenoszenia i organizowania danych, koncentrując się na pozyskiwaniu danych. Usługa ADF obsługuje środowisko Integration Runtime do uruchamiania pakietów usług SSIS oraz publiczną obsługę Internetu dla usługi SQL Managed Instance.
Replikacja transakcyjna
Replikacja transakcyjna to sposób przenoszenia danych między stale połączonymi serwerami baz danych.
Proces rozpoczyna się od migawki obiektów i danych bazy danych publikacji. Po utworzeniu początkowej migawki wszelkie kolejne zmiany danych lub schematu w programie Publisher są zwykle dostarczane do usługi Azure SQL Managed Instance niemal w czasie rzeczywistym w miarę ich występowania.
Usługa SQL Managed Instance jest elastyczna, ponieważ może być wydawcą, dystrybutorem i subskrybentem.
Replikacja jest jedną z niewielu technologii, które umożliwiają replikowanie części tabeli. Te części tabeli nazywamy artykułami. Te dane są następnie wysyłane do dystrybutora, który jest dostawcą danych do dowolnej liczby subskrybentów.
Wymagania
- Połączenie korzysta z uwierzytelniania SQL między uczestnikami replikacji.
- Udział konta usługi Azure Storage dla katalogu roboczego używanego przez replikację.
- Otwórz port 445 (wychodzący TCP) w regułach zabezpieczeń podsieci wystąpienia zarządzanego, aby uzyskać dostęp do udziału plików platformy Azure.
- Otwórz port 1433 (wychodzący TCP), jeśli wydawca lub dystrybutor znajduje się w wystąpieniu zarządzanym, a subskrybent jest w środowisku lokalnym.
Łączenie aplikacji z wystąpieniem zarządzanym SQL
Wystąpienie zarządzane SQL musi zostać umieszczone w podsieci sieci wirtualnej platformy Azure dedykowanej dla wystąpień zarządzanych. To wdrożenie zapewnia bezpieczny prywatny adres IP i możliwość łączenia się z sieciami lokalnymi.
Użytkownicy i aplikacje klienckie mogą łączyć się z bazą danych wystąpienia zarządzanego za pośrednictwem witryny Azure Portal, programu PowerShell, interfejsu wiersza polecenia platformy Azure i interfejsu API REST.
Cała komunikacja jest zaszyfrowana i podpisana przy użyciu certyfikatów. Aby sprawdzić wiarygodność komunikujących się stron, wystąpienia zarządzane stale weryfikują te certyfikaty za pomocą list odwołania certyfikatów. Jeśli certyfikaty zostaną odwołane, wystąpienie zarządzane SQL zamyka połączenia w celu ochrony danych.