本主题概述了使用存储在 Azure Blob 存储服务中的备份还原数据库时的注意事项。 这适用于使用 SQL Server 备份到 URL 备份创建的备份,或者通过 SQL Server 托管备份创建到 Microsoft Azure 的备份。
如果您有计划还原的备份存储在 Azure Blob 存储服务中,建议先查看本主题,然后查看描述如何还原本地和 Azure 备份中相同数据库的步骤的相关主题。
概述
用于从本地备份还原数据库的工具和方法适用于从云备份还原数据库。 以下部分介绍这些注意事项以及使用存储在 Azure Blob 存储服务中的备份时应了解的任何差异。
使用 Transact-SQL
由于 SQL Server 必须连接到外部源才能检索备份文件,因此 SQL 凭据用于向存储帐户进行身份验证。 因此,RESTORE 语句需要 WITH CREDENTIAL 选项。 有关详细信息,请参阅 使用 Azure Blob 存储服务的 SQL Server 备份和还原。
如果使用 SQL Server 托管备份Microsoft Azure 来管理到云的备份,则可以使用 smart_admin.fn_available_backup 系统函数查看存储中的所有可用备份。 此系统函数返回表中数据库的所有可用备份。 在表中返回结果时,可以筛选或排序结果。 有关详细信息,请参阅 smart_admin.fn_available_backups (Transact-SQL)。
使用 SQL Server Management Studio
- 还原任务用于使用 SQL Server Management Studio 还原数据库。 备份媒体页现在包含 URL 选项,用于显示存储在 Azure Blob 存储服务中的备份文件。 还必须提供用于向存储帐户进行身份验证的 SQL 凭据。 然后,将 Azure Blob 存储中的可用备份填入 备份集还原表格。 有关详细信息,请参阅 使用 SQL Server Management Studio 从 Azure 存储还原。
优化还原
若要减少还原写入时间,请向 SQL Server 用户帐户添加 执行卷维护任务 用户权限。 有关详细信息,请参阅 数据库文件初始化。 如果在启用即时文件初始化时还原速度仍然缓慢,请查看备份数据库的实例上的日志文件大小。 如果日志大小非常大(多个 GB),则预计还原速度会很慢。 在还原期间,日志文件必须为零,这需要大量时间。
若要减少还原时间,建议使用压缩备份。 对于超过 25 GB 的备份大小,请使用 AzCopy 实用工具 下载到本地驱动器,然后执行还原。 有关其他备份最佳做法和建议,请参阅 SQL Server 备份到 URL 的最佳做法和故障排除。
您也可以在执行还原时启用 Trace Flag 3051,以生成详细日志。 此日志文件放置在日志目录中,并使用格式命名:BackupToUrl-<instancename>-<dbname>-action-<PID>.log。 日志文件包含有关每次来回 Azure 存储的信息,包括有助于诊断问题的时间数据。