Поделиться через


Урок 9. Восстановление базы данных из службы хранилища Azure

На этом занятии вы узнаете, как восстановить файл резервной копии базы данных из службы хранилища Azure в базу данных, которая находится локально или в виртуальной машине в Azure. Чтобы выполнить этот урок, вам не нужно выполнять занятие 4, 5, 6, 7 и 8.

В этом занятии предполагается, что вы уже выполнили следующие действия:

  • Вы создали базу данных на исходном компьютере.

  • Вы создали резервную копию базы данных (.bak) в хранилище Azure, используя функцию резервного копирования и восстановления SQL Server с помощью службы Azure Blob Storage. Обратите внимание, что на этом шаге необходимо создать другие учетные данные SQL Server. Эти учетные данные используют ключи хранения учетной записи.

  • У вас есть учетная запись служба хранилища Azure.

  • Вы создали контейнер в учетной записи хранения Azure.

  • Вы создали политику в контейнере с правами на чтение, запись и список. Вы также создали ключ SAS.

  • Вы создали учетные данные SQL Server на компьютере для функции интеграции службы хранилища Azure. Обратите внимание, что для этих учетных данных требуется ключ общей подписи доступа (SAS).

Чтобы восстановить базу данных из службы хранилища Azure, выполните следующие действия.

  1. Запустите SQL Server Management Studio. Подключитесь к экземпляру по умолчанию.

  2. Нажмите кнопку "Создать запрос " на панели инструментов "Стандартный".

  3. Скопируйте и вставьте следующий полный скрипт в окно запроса. Измените скрипт по мере необходимости.

    Заметка: Чтобы восстановить резервную копию базы данных (.bak) в службе хранилища Azure, выполните инструкцию RESTORE для восстановления экземпляра базы данных на другом компьютере.

    
    USE master   
    GO   
    -- Create a new database to be backed up.   
    CREATE DATABASE TestDbRestoreFrom;   
    GO   
    USE TestDbRestoreFrom;   
    GO   
    CREATE TABLE Table1 (Col1 int primary key, Col2 varchar(20));   
    GO   
    INSERT INTO Table1 (Col1, Col2) VALUES (1, 'string1'), (2, 'string2');   
    GO   
    USE TestDbRestoreFrom;   
    GO   
    SELECT * from dbo.Table1;   
    GO   
    -- Create a credential to be used by SQL Server Backup and Restore with Azure -----Blob Storage Service.   
    USE master;   
    GO   
    CREATE CREDENTIAL BackupCredential    
    WITH IDENTITY= 'teststorageaccnt',   
    SECRET = 'BO1nH/lWRdnc8TGPlQIXmGLWVCoEa48suYSGiAlC73+S0TX5VXo5/LCm8qiyGCYafDg4ZsueDIV3GQ5RXHaRGw=='    
    GO   
    -- Display the newly created credential   
    SELECT * from sys.credentials   
    -- Create a backup in Azure Storage.   
    BACKUP DATABASE TestDBRestoreFrom    
    TO URL = 'https://teststorageaccnt.blob.core.windows.net/testrestorefrom/TestDBRestoreFrom.bak'    
          WITH CREDENTIAL = 'BackupCredential'    
         ,COMPRESSION   
         ,STATS = 5;   
    GO    
    -- Create a Shared Access Signature credential   
    CREATE CREDENTIAL [https://teststorageaccnt.blob.core.windows.net/testrestorefrom]   
    WITH IDENTITY='SHARED ACCESS SIGNATURE',   
    SECRET = 'sv=2012-02-12&sr=c&si=policy_resfrom&sig=EhVpzLUXjG4ThAMLmVhrnoiCt8IfmD3BsuYiMawGzxc%3D'   
    GO   
    USE master;   
    GO   
    RESTORE DATABASE TestDBRestoreFrom    
    FROM URL = 'https://teststorageaccnt.blob.core.windows.net/testrestorefrom/TestDBRestoreFrom.bak'    
    WITH    
    CREDENTIAL = 'BackupCredential',    
    REPLACE,   
    MOVE 'TestDBRestoreFrom' TO 'C:\Backup\TestDBRestoreFrom.mdf',     
    MOVE 'TestDBRestoreFrom_log' TO 'C:\Backup\TestDBRestoreFrom_log.ldf';   
    GO  
    
    

Конец руководства. Файлы данных SQL Server в службе хранилища Azure