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


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

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

Для этого занятия предполагается, что вы уже выполнили следующие шаги.

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

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

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

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

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

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

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

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

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

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

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

    
    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