Azure SQL数据库最快的备份/还原策略?

Eug*_*kov 12 sql-server backup azure azure-sql-database

备份/还原Azure SQL数据库的最快方法是什么?

背景:我们拥有大小约为40 GB的数据库,并且Azure SQL数据库导入/导出服务以本机方式从.bacbac文件(~4GB压缩数据)恢复它需要长达6-8小时.创建.bacpac也很长,需要大约2个小时.

UPD:

在此输入图像描述

UPD. 使用CREATE DATABASE [DBBackup] AS COPY OF [DB]40 GB数据库创建数据库(通过事务一致的方式)复制只需15分钟,并且还原是简单的数据库重命名.

UPD.2014年12月.让我与您分享我们最终获得的数据库迁移架构最快方式的经验.

首先,数据层应用程序(.bacpac)的方法在DB变得稍微大一点后对我们来说是不可行的,如果你有至少一个总体大小的非聚集索引,它对你也不适用> 2 GB,直到您在导出之前禁用非聚集索引 - 这是由于Azure SQL事务日志限制.

我们坚持使用Azure迁移向导,对于数据传输,只需为每个表运行BCP(BCP的参数是可配置的),并且比使用.bacpac的方法快20%.

以下是我们在迁移向导中遇到的一些陷阱:

  1. 我们遇到了非Unicode字符串的编码问题.确保BCP导入和导出以相同的排序规则运行.它是-C ... 配置开关,您可以在MW应用程序中找到BCP调用.config文件的参数.
  2. 考虑到MW(至少是本文撰写时的实际版本)运行BCP,其参数将使约束处于非可信状态,因此不要忘记在BCP导入后检查所有不受信任的约束.

Lia*_*rty 6

如果您的数据库是40GB,那么很久以后就会考虑使用冗余的数据库服务器,一旦主服务器发生故障就可以立即服务.

您应该在主数据库服务器旁边运行第二个服务器,该服务器没有实际例程,除非每小时/每天与主服务器同步(取决于数据更改的频率以及运行此过程所需的时间).您还可以考虑从此数据库服务器而不是主数据库服务器创建备份.

如果您的主数据库服务器出现故障 - 无论出于何种原因 - 您可以将应用程序中的主机地址更改为备份数据库,并花8小时调试您的其他服务器,而不是让您的拇指在等待Azure门户执行其操作而你的客户抱怨.

您的数据库不应该花费6-8小时从备份恢复.如果您在此估算中包含上载/下载时间,则应考虑将数据存储在Azure数据中心以及本地.

有关详细信息,请参阅MSDN上有关业务连续性的这篇文章:http: //msdn.microsoft.com/en-us/library/windowsazure/hh852669.aspx

您将需要专门查看"数据库副本"部分,但如果您的数据库太大,那么本文值得全文阅读.