在本课中,你将了解如何将数据库备份文件从 Azure 存储还原到驻留在本地或 Azure 中的虚拟机中的数据库。 若要学习本课程,无需完成第 4、5、6、7 和 8 课。
本课程假定你已完成以下步骤:
已在源计算机中创建数据库。
你已使用 结合 Azure Blob 存储服务的 SQL Server 备份和还原功能,在 Azure 存储中创建了数据库 (.bak) 的备份。 请注意,需要在此步骤中创建另一个 SQL Server 凭据。 此凭据使用存储帐户密钥。
你有一个 Azure 存储帐户。
已在 Azure 存储帐户下创建了容器。
已在具有读取、写入和列表权限的容器上创建了策略。 还生成了 SAS 密钥。
已在计算机上为 Azure 存储集成功能创建了 SQL Server 凭据。 请注意,此凭据需要共享访问签名(SAS)密钥。
若要从 Azure 存储还原数据库,可以按照以下步骤作:
启动 SQL Server Management Studio。 连接到默认实例。
单击标准工具栏上的 “新建查询 ”。
将以下完整脚本复制并粘贴到查询窗口。 根据需要修改脚本。
注意:
RESTORE运行该语句,将 Azure 存储中的数据库备份(.bak)还原到另一台计算机中的数据库实例。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
教程结束:Azure 存储服务中的 SQL Server 数据文件