Sdílet prostřednictvím


Migrace: SQL Server do služby SQL Managed Instance s povolenou službou Azure Arc

Tento scénář vás provede dvěma různými metodami zálohování a obnovení migrace databáze z instance SQL Serveru do spravované instance Azure SQL ve službě Azure Arc.

Použití služby Azure Blob Storage

Azure Blob Storage použijte k migraci na spravovanou instanci SQL povolenou službou Azure Arc.

Tato metoda používá Službu Azure Blob Storage jako dočasné umístění úložiště, do kterého můžete zálohovat a pak je obnovit.

Požadavky

Krok 1: Zřízení úložiště objektů blob v Azure

  1. Postupujte podle kroků popsaných v tématu Vytvoření účtu služby Azure Blob Storage.
  2. Spuštění Průzkumník služby Azure Storage
  3. Přihlášení k Azure pro přístup k úložišti objektů blob vytvořenému v předchozím kroku
  4. Klikněte pravým tlačítkem na účet úložiště objektů blob a vyberte Vytvořit kontejner objektů blob a vytvořte nový kontejner, ve kterém se uloží záložní soubor.

Krok 2: Získání přihlašovacích údajů k objektům blob úložiště

  1. V Průzkumník služby Azure Storage klikněte pravým tlačítkem na kontejner objektů blob, který byl právě vytvořen, a vyberte Získat sdílený přístupový podpis.

  2. Výběr seznamu pro čtení, zápis a zápis

  3. Vyberte příkaz Vytvořit.

    Poznamenejte si identifikátor URI a řetězec dotazu z této obrazovky. Budete je potřebovat v dalších krocích. Kliknutím na tlačítko Kopírovat uložte poznámkový blok nebo OneNote atd.

  4. Zavřete okno sdíleného přístupového podpisu .

Krok 3: Zálohování souboru databáze do služby Azure Blob Storage

V tomto kroku se připojíme ke zdrojovému SQL Serveru a vytvoříme záložní soubor databáze, kterou chceme migrovat do služby SQL Managed Instance – Azure Arc.

  1. Spuštění nástroje Azure Data Studio

  2. Připojení k instanci SQL Serveru s databází, kterou chcete migrovat do služby SQL Managed Instance – Azure Arc

  3. Klikněte pravým tlačítkem myši na databázi a vyberte Nový dotaz.

  4. Připravte dotaz v následujícím formátu a nahraďte zástupné symboly označené <...> použitím informací ze sdíleného přístupového podpisu v předchozích krocích. Po nahrazení hodnot spusťte dotaz.

    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>';  
    
  5. Podobně připravte příkaz BACKUP DATABASE následujícím způsobem, abyste vytvořili záložní soubor do kontejneru objektů blob. Po nahrazení hodnot spusťte dotaz.

    BACKUP DATABASE <database name> TO URL = 'https://<mystorageaccountname>.blob.core.windows.net/<mystorageaccountcontainername>/<file name>.bak'
    
  6. Otevřete Průzkumník služby Azure Storage a ověřte, že je záložní soubor vytvořený v předchozím kroku viditelný v kontejneru objektů blob.

Další informace o zálohování na adresu URL najdete tady:

Krok 4: Obnovení databáze ze služby Azure Blob Storage do služby SQL Managed Instance – Azure Arc

  1. V Nástroji Azure Data Studio se přihlaste a připojte se ke službě SQL Managed Instance – Azure Arc.

  2. Rozbalte systémové databáze, klikněte pravým tlačítkem myši na hlavní databázi a vyberte Nový dotaz.

  3. V okně editoru dotazů připravte a spusťte stejný dotaz z předchozího kroku a vytvořte přihlašovací údaje.

    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>';  
    
  4. Připravte a spusťte následující příkaz, abyste ověřili, že záložní soubor je čitelný a beze změny.

    RESTORE FILELISTONLY FROM URL = 'https://<mystorageaccountname>.blob.core.windows.net/<mystorageaccountcontainername>/<file name>.bak'
    
  5. Příprava a spuštění příkazu RESTORE DATABASE následujícím způsobem obnovte záložní soubor do databáze ve službě 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: Zkopírování záložního souboru do spravované instance Azure SQL – pod Azure Arc pomocí kubectl

Tato metoda ukazuje, jak vytvořit záložní soubor, který vytvoříte libovolnou metodou, a pak ho zkopírovat do místního úložiště v podu spravované instance Azure SQL, abyste ho mohli v typickém systému souborů ve Windows nebo Linuxu obnovit. V tomto scénáři použijete příkaz kubectl cp ke zkopírování souboru z jednoho místa do systému souborů podu.

Požadavky

  • Instalace a konfigurace kubectl tak, aby odkazovaly na cluster Kubernetes, kde jsou nasazené datové služby Azure Arc
  • Máte nástroj, jako je Azure Data Studio nebo SQL Server Management Server, nainstalovaný a připojený k SQL Serveru, kde chcete vytvořit záložní soubor, nebo mít existující soubor .bak již vytvořený v místním systému souborů.

Krok 1: Zálohování databáze, pokud jste to ještě neudělali

Zálohujte databázi SQL Serveru do místní cesty k souboru, jako je jakákoli typická záloha SQL Serveru na disk:

BACKUP DATABASE Test
TO DISK = 'C:\Backupfiles\test.bak'
WITH FORMAT, MEDIANAME = 'Test' ;
GO

Krok 2: Zkopírování záložního souboru do systému souborů podu

Vyhledejte název podu, ve kterém je nasazená instance SQL. Obvykle by měl vypadat takto: pod/<sqlinstancename>-0

Seznam všech podů získáte spuštěním příkazu:

kubectl get pods -n <namespace of data controller>

Příklad:

Zkopírujte záložní soubor z místního úložiště do podu SQL v clusteru.

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: Obnovení databáze

Příprava a spuštění příkazu RESTORE pro obnovení záložního souboru do spravované instance 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

Příklad:

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

Další informace o funkcích a možnostech služby SQL Managed Instance povolené službou Azure Arc

Začněte vytvořením kontroleru dat.

Vytvoření spravované instance SQL povolené službou Azure Arc