zoukankan      html  css  js  c++  java
  • 自动备份SQL数据库到云存储Storage

    如何自动备份SQL数据库到Storage呢。

    前提条件需要SQL Server2012 SP1 CU2或更高版本

    1. 备份SQL Azure数据库到云存储Storage

    1)在SQL Server Management Studio中创建Storage存储身份认证

    创建Storage身份认证信息脚本样例如下:

    IF NOT EXISTS

    (SELECT * FROM sys.credentials

    WHERE credential_identity = 'mycredential')

    CREATE CREDENTIAL mycredential WITH IDENTITY = 'mystorageaccount'

    ,SECRET = '<storage access key>' ;

    2)从数据库导出数据包文件*.BACPAC,并存储到Storage的blob中。

    脚本样例如下:

    BACKUP DATABASE AdventureWorks2012

    TO URL = 'https://mystorageaccount.blob.core.windows.net/mycontainer/AdventureWorks2012.bak'

          WITH CREDENTIAL = 'mycredential'

         ,COMPRESSION

         ,STATS = 5;

    GO

    上面两步使用的TSQL语句可以用在SQL脚本(如存储过程)或者开发编程(如C#调用)中使用,达到导出数据包BACPAC文件到Storage的目的。

    2. 自动备份数据库

    1)可以使用Task Scheduler创建计划(Schedule)运行脚本或者程序

    2)可以开发编程并发布Windows Azure Worker Role到云服务上定时运行脚本

    关于怎样使用Task Scheduler来备份数据,可以参考:http://support.microsoft.com/kb/2019698

    注意:

    1. 在创建计划或者开发程序,并设置特定的时间来运行,两次运行的时间要合理定义,不要在上次任务没运行前启动下次任务。这个时间段取决于数据库的大小和数据服务器负载的情况。
    2. 使用异常处理机制和重试(Retry)机制来避免错误,例如超时。
    3. 在设定重试逻辑的时候,不要立即重试,需要一定的时间间隔,而且重试的间隔应该越来越长。

    要备份或者恢复数据库使用Storage,至少需要SQL server 2012 SP1 CU2

    http://technet.microsoft.com/en-us/library/jj919148.aspx这篇文章有详细的描述。

    下载地址如下:

    SQL Server2012 SP1 CU2

    http://support.microsoft.com/kb/2790947

    支持使用Storage备份和还原数据库

    SQL Server2012 SP1 CU4

    http://support.microsoft.com/kb/2833645/zh-cn

     支持Powershell 操作使用Storage备份和还原数据库

  • 相关阅读:
    四十一.redis主从复制 RDB/AOF持久化 数据类型
    四十.创建Redis集群 管理集群
    三十九.NoSQL概述 部署Redis服务 、 部署LNMP+Redis
    三十八. 分库分表概述 配置mycat
    520D
    442C
    LA4788
    LA3276
    LA4122
    zoj3478
  • 原文地址:https://www.cnblogs.com/ericwen/p/3436476.html
Copyright © 2011-2022 走看看