Migrowanie: program SQL Server do usługi SQL Managed Instance włączonej przez usługę Azure Arc
W tym scenariuszu przedstawiono kroki migracji bazy danych z wystąpienia programu SQL Server do wystąpienia zarządzanego usługi Azure SQL w usłudze Azure Arc za pomocą dwóch różnych metod tworzenia kopii zapasowych i przywracania.
Korzystanie z usługi Azure Blob Storage
Usługa Azure Blob Storage umożliwia migrowanie do usługi SQL Managed Instance włączonej przez usługę Azure Arc.
Ta metoda używa usługi Azure Blob Storage jako tymczasowej lokalizacji magazynu, z której można utworzyć kopię zapasową, a następnie przywrócić z.
Wymagania wstępne
Instalowanie programu Azure Data Studio
W tej chwili użyj kompilacji niejawnych testerów programu Azure Data Studio.
Subskrypcja platformy Azure
Krok 1. Aprowizuj usługę Azure Blob Storage
- Wykonaj kroki opisane w temacie Tworzenie konta usługi Azure Blob Storage
- Uruchamianie Eksplorator usługi Azure Storage
- Zaloguj się do platformy Azure , aby uzyskać dostęp do magazynu obiektów blob utworzonych w poprzednim kroku
- Kliknij prawym przyciskiem myszy konto magazynu obiektów blob i wybierz polecenie Utwórz kontener obiektów blob, aby utworzyć nowy kontener, w którym będzie przechowywany plik kopii zapasowej
Krok 2. Pobieranie poświadczeń obiektu blob magazynu
W Eksplorator usługi Azure Storage kliknij prawym przyciskiem myszy właśnie utworzony kontener obiektów blob i wybierz pozycję Pobierz sygnaturę dostępu współdzielonego
Wybieranie pozycji Odczyt, Zapis i Lista
Wybierz pozycję Utwórz
Zanotuj identyfikator URI i ciąg zapytania z tego ekranu. Będą one potrzebne w kolejnych krokach. Kliknij przycisk Kopiuj, aby zapisać w Notatniku/programie OneNote itp.
Zamknij okno Sygnatura dostępu współdzielonego.
Krok 3. Tworzenie kopii zapasowej pliku bazy danych w usłudze Azure Blob Storage
W tym kroku połączymy się ze źródłowym programem SQL Server i utworzymy plik kopii zapasowej bazy danych, którą chcemy przeprowadzić migrację do usługi SQL Managed Instance — Azure Arc.
Uruchamianie narzędzia Azure Data Studio
Nawiązywanie połączenia z wystąpieniem programu SQL Server, które ma bazę danych, którą chcesz przeprowadzić migrację do usługi SQL Managed Instance — Azure Arc
Kliknij prawym przyciskiem myszy bazę danych i wybierz pozycję Nowe zapytanie
Przygotuj zapytanie w następującym formacie, zastępując symbole zastępcze wskazane przy
<...>
użyciu informacji z sygnatury dostępu współdzielonego we wcześniejszych krokach. Po zastąpieniu wartości uruchom zapytanie.IF NOT EXISTS (SELECT * FROM sys.credentials WHERE name = 'https://<mystorageaccountname>.blob.core.windows.net/<mystorageaccountcontainername>') CREATE CREDENTIAL [https://<mystorageaccountname>.blob.core.windows.net/<mystorageaccountcontainername>] WITH IDENTITY = 'SHARED ACCESS SIGNATURE', SECRET = '<SAS_TOKEN>';
Podobnie przygotuj polecenie BACKUP DATABASE w następujący sposób, aby utworzyć plik kopii zapasowej w kontenerze obiektów blob. Po zastąpieniu wartości uruchom zapytanie.
BACKUP DATABASE <database name> TO URL = 'https://<mystorageaccountname>.blob.core.windows.net/<mystorageaccountcontainername>/<file name>.bak'
Otwórz Eksplorator usługi Azure Storage i sprawdź, czy plik kopii zapasowej utworzony w poprzednim kroku jest widoczny w kontenerze obiektów blob
Dowiedz się więcej o tworzeniu kopii zapasowej pod adresem URL tutaj:
Tworzenie kopii zapasowej i przywracanie programu SQL Server za pomocą usługi Azure Blob Storage
Tworzenie kopii zapasowej adresu URL przy użyciu programu SQL Server Management Studio (SSMS)
Krok 4. Przywracanie bazy danych z usługi Azure Blob Storage do usługi SQL Managed Instance — Azure Arc
W narzędziu Azure Data Studio zaloguj się i połącz się z wystąpieniem zarządzanym SQL — Azure Arc.
Rozwiń węzeł Systemowe bazy danych, kliknij prawym przyciskiem myszy bazę danych master i wybierz pozycję Nowe zapytanie.
W oknie edytora zapytań przygotuj i uruchom to samo zapytanie z poprzedniego kroku, aby utworzyć poświadczenia.
IF NOT EXISTS (SELECT * FROM sys.credentials WHERE name = 'https://<mystorageaccountname>.blob.core.windows.net/<mystorageaccountcontainername>') CREATE CREDENTIAL [https://<mystorageaccountname>.blob.core.windows.net/<mystorageaccountcontainername>] WITH IDENTITY = 'SHARED ACCESS SIGNATURE', SECRET = '<SAS_TOKEN>';
Przygotuj i uruchom poniższe polecenie, aby sprawdzić, czy plik kopii zapasowej jest czytelny i nienaruszony.
RESTORE FILELISTONLY FROM URL = 'https://<mystorageaccountname>.blob.core.windows.net/<mystorageaccountcontainername>/<file name>.bak'
Przygotuj i uruchom polecenie RESTORE DATABASE w następujący sposób, aby przywrócić plik kopii zapasowej do bazy danych w usłudze SQL Managed Instance — Azure Arc
RESTORE DATABASE <database name> FROM URL = 'https://<mystorageaccountname>.blob.core.windows.net/<mystorageaccountcontainername>/<file name>.bak' WITH MOVE 'Test' to '/var/opt/mssql/data/<file name>.mdf' ,MOVE 'Test_log' to '/var/opt/mssql/data/<file name>.ldf' ,RECOVERY; GO
Metoda 2. Kopiowanie pliku kopii zapasowej do wystąpienia zarządzanego usługi Azure SQL — zasobnik usługi Azure Arc przy użyciu narzędzia kubectl
W tej metodzie pokazano, jak utworzyć plik kopii zapasowej za pomocą dowolnej metody, a następnie skopiować go do magazynu lokalnego w zasobniku wystąpienia zarządzanego usługi Azure SQL, aby można było przywrócić go z tego miejsca w typowym systemie plików w systemie Windows lub Linux. W tym scenariuszu użyjesz polecenia kubectl cp
, aby skopiować plik z jednego miejsca do systemu plików zasobnika.
Wymagania wstępne
- Instalowanie i konfigurowanie narzędzia kubectl w celu wskazania klastra Kubernetes, w którym są wdrażane usługi danych Azure Arc
- Narzędzie, takie jak Azure Data Studio lub SQL Server Management Server, jest zainstalowane i połączone z programem SQL Server, w którym chcesz utworzyć plik kopii zapasowej LUB ma już istniejący plik .bak utworzony w lokalnym systemie plików.
Krok 1. Tworzenie kopii zapasowej bazy danych, jeśli jeszcze tego nie zrobiono
Utwórz kopię zapasową bazy danych programu SQL Server na ścieżkę pliku lokalnego, tak jak w przypadku dowolnego typowego tworzenia kopii zapasowej programu SQL Server na dysku:
BACKUP DATABASE Test
TO DISK = 'C:\Backupfiles\test.bak'
WITH FORMAT, MEDIANAME = 'Test' ;
GO
Krok 2. Kopiowanie pliku kopii zapasowej do systemu plików zasobnika
Znajdź nazwę zasobnika, w którym jest wdrażane wystąpienie sql. Zazwyczaj powinna wyglądać następująco: pod/<sqlinstancename>-0
Pobierz listę wszystkich zasobników, uruchamiając polecenie:
kubectl get pods -n <namespace of data controller>
Przykład:
Skopiuj plik kopii zapasowej z magazynu lokalnego do zasobnika SQL w klastrze.
kubectl cp <source file location> <pod name>:var/opt/mssql/data/<file name> -n <namespace name> -c arc-sqlmi
#Example:
kubectl cp C:\Backupfiles\test.bak sqlinstance1-0:var/opt/mssql/data/test.bak -n arc -c arc-sqlmi
Krok 3. Przywracanie bazy danych
Przygotuj i uruchom polecenie RESTORE, aby przywrócić plik kopii zapasowej do wystąpienia zarządzanego usługi Azure SQL — Azure Arc
RESTORE DATABASE test FROM DISK = '/var/opt/mssql/data/<file name>.bak'
WITH MOVE '<database name>' to '/var/opt/mssql/data/<file name>.mdf'
,MOVE '<database name>' to '/var/opt/mssql/data/<file name>_log.ldf'
,RECOVERY;
GO
Przykład:
RESTORE DATABASE test FROM DISK = '/var/opt/mssql/data/test.bak'
WITH MOVE 'test' to '/var/opt/mssql/data/test.mdf'
,MOVE 'test' to '/var/opt/mssql/data/test_log.ldf'
,RECOVERY;
GO
Powiązana zawartość
Zacznij od utworzenia kontrolera danych
Tworzenie wystąpienia zarządzanego SQL włączonego przez usługę Azure Arc