《Windows Azure Platform 系列文章目录

  注意:

  1.只有SQL Server 2012 CU4及以上版本才支持本章内容

  2.当你的数据库文件很大时,建议优化以下内容:

  (1)创建新的SQL Server VM,至少4Core,将bacpac文件保存到本地磁盘。注意不能保存到D盘,D盘是临时磁盘,数据会有丢失风险

  (2)将Azure SQL Database的配置升级到最高级别的P3,提高Performance

  (3)按照以下内容进行数据库还原

  Update 2015-10-14

  现在国内世纪互联运维的Azure China,其SQL Azure组件已经升级到了V12版本。

  如果是以下情况:

-  本地PC安装的是SQL Server 2012 CU4的Management Studio

-  使用SQL Azure V12数据库

  还原bacpac文件的话,会遇到以下问题:

  

  这是由于本地SQL 2012 Management Studio 客户端不支持SQL Azure V12。

  笔者建议读者将SQL 2012 Management Studio升级大SQL 2014 Mangement Studio。如下图:

  

  类似问题,请参考:http://blogs.msdn.com/b/azuresqldbsupport/archive/2015/04/08/bacpac-could-not-load-schema-model-from-package.aspx

  SQL Azure提供一系列的数据复制和同步机制。例如,本地的SQL Server数据库可以被发布到SQL Azure上;SQL Azure的数据库也可以被打包下载到本地SQL Server服务器上;您还可以通过数据同步服务(Data Sync Service)备份数据库,以及进行动态数据同步。

  

  数据层应用程序

  数据层应用程序(Data-Tier Application, DAC)封装了一个应用程序所用的所有数据库和实例对象,例如表、索引、视图、存储过程乃至用户等。

  通过这个逻辑上的封装,开发者可以直接对数据库进行设置和修改,然后把封装好的数据库定义交给数据库管理员部署在任何支持DAC的数据库上。

  DAC避免了维护数据库脚本的复杂性,也弱化了开发者和数据库管理员之间的相互依赖。

  DAC还提供了自动化的数据库更新,从而在更新数据结构的过程中保证数据不丢失。

  DAC还支持版本控制,所以开发者和数据库管理员可以像管理源代码版本一样管理不同的DAC版本。

  在DAC的操作过程中经常要涌动啊的两个文件类型,一个是.bacpac,一个是.dacpac

  - .bacpac:.bacpac文件包含了一个数据库中的结构和数据。其中数据库结构信息与.dacpac文件中的信息相同,而数据是以JSON格式存储的。

  在逻辑上,.bacpac相当于数据库的一个备份,它的主要作用在于数据库的移植。

  - .dacpac: .dacpac文件包含了一个数据库中的结构,其主要作用是把数据库结构部署到不同的环境,以及数据库结构的更新。

  首先我们需要在本地安装SQL Server 2012并安装SQL Server Management Studio。

  本章我将介绍如何将云端的SQL Azure中的数据库导入到本地SQL Server数据库。

  1.先做好准备工作,我们使用SQL Server Management Studio在云端创建一个SQL Azure,命名为LeiDB。同时创建若干张表。如下图:

  

  2.创建一个存储账号,命名为leizhangstorage(可以根据自己的需要选择是否需要异地冗余),同时在storage中创建container命名为dbback,设置container权限为private

  3.登陆到Windows Azure Management Portal,选择我们在步骤1中创建的SQL Azure,点击Export,如下图:

  

  4.在弹出的Export Database Settings窗口中,设置Blob Storage和SQL Azure用户名密码

  该步骤就是将SQL Azure中的LeiDB这个数据库的bacpac文件(包含了数据库结构和数据)备份到leizhangstorage这个存储账号中

  

  5.我们以管理员身份打开本地的Visual Studio 2013,点击View->Server Explorer。

  在Server Explorer中,展开Windows Azure->Storage->leizhangstorage

  选中我们在步骤4中生成的bacpac文件,右键Save As,保存至本地计算机上

  

  6.打开本地计算的SQL Server Management Studio,连接本地的SQL Server服务。

  点击数据库,右键,导入数据层应用程序

  

  在弹出的窗口中,选择从本地磁盘导入:

  

  执行成功后,我们就可以看到云端的SQL Azure数据库已经保存到本地的SQL Server服务器上了。

  

  

  经过以上的实例,我们现在在云端的SQL Azure和本地的SQL Server上有两份相同的数据库。

  

SQL Azure (14) 将云端SQL Azure中的数据库备份到本地SQL Server的更多相关文章

  1. 将SQL Azure数据库备份到本地SQL Server 2012

    整个备份过程可以分为如下两大步骤进行: 一.通过“Export Data-tier Application”先将目标SQL Azure的数据库备份到本地,详细步骤如下: 1.启动SQL Server ...

  2. How do I copy SQL Azure database to my local development server?(如何将Azure 中的数据库备份到本地)

    Now you can use the SQL Server Managerment Studio to do this: Connect to the SQL Azure database. 通过 ...

  3. 数据库备份与还原SQL代码

    --备份数据库 --必须先创建Backup文件夹 ) SET @name = 'D:\Backup\DingHanECard_V2_ZQGDJ_' ), ) + '.bak' BACKUP DATAB ...

  4. 怎样将SQL Azure数据库备份到本地或者Storage

    怎样备份SQL Azure数据库到本地或者云存储Storage,可以使用SQL Database Import Export 的功能. 具体操作如下: 用SSMS链接SQL Azure数据库 注意:服 ...

  5. MSSQL Server 数据库备份还原常用SQL语句及注意

    1.备份数据库 backup database db_name to disk='d:\db_name.bak' with format --通过使用with format可以做到覆盖任何现有的备份和 ...

  6. SQL Server 数据库备份还原常用SQL语句及注意

    1.备份数据库 backup database db_name to disk='d:\db_name.bak' with format --通过使用with format可以做到覆盖任何现有的备份和 ...

  7. MSSQL数据库备份还原常用SQL语句及注意

    .备份数据库 backup database db_name to disk='d:\db_name.bak' with format --通过使用with format可以做到覆盖任何现有的备份和创 ...

  8. SQLServer中的数据库备份和还原

    更多资源:http://denghejun.github.io 备份 SQLServer中的备份,这里是T-SQL的用法,具体示例代码如下,使用也相对简单,其中TestDatabase 是指所需备份的 ...

  9. docker容器中Postgresql 数据库备份

    查看运行的容器: docker ps 进入目标容器: docker exec -u root -it 容器名 /bin/bash docker 中,以root用户,创建备份目录,直接执行如下命令, p ...

随机推荐

  1. C#排序算法小结

    前言 算法这个东西其实在开发中很少用到,特别是web开发中,但是算法也很重要,因为任何的程序,任何的软件,都是由很多的算法和数据结构组成的.但是这不意味着算法对于每个软件设计人员的实际工作都是很重要的 ...

  2. 移动端js知识总结

    1.如果使用jquery绑定touch事件的话,获取touchstart,touchmove的触点坐标用 e.originalEvent.targetTouches[0].pageX, 获取touch ...

  3. HoloLens shell overview(Translation)

    HoloLens shell 概述 使用HoloLens时,shell是由你周围的世界和来自系统的全息图构成.我们可以称这个空间叫做混合现实(mixed world). 此shell由在你的世界里能让 ...

  4. 基于Docker快速搭建多节点Hadoop集群--已验证

    Docker最核心的特性之一,就是能够将任何应用包括Hadoop打包到Docker镜像中.这篇教程介绍了利用Docker在单机上快速搭建多节点 Hadoop集群的详细步骤.作者在发现目前的Hadoop ...

  5. js 怎么屏蔽微信打开网页后的分享

    我们知道 js 可以通过 window.navigator.userAgent 来获取浏览器的相关信息,比如:Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537. ...

  6. 【算法杂谈】Miller-Rabin素性测试算法

    额,我们今天来讲一讲Miller-Rabin素性测试算法. 读者:怎么又是随机算法!!!(⊙o⊙)… [好了,言归正传] [费马小定理] 费马小定理只是个必要条件,符合费马小定理而非素数的数叫做Car ...

  7. GruntJS常用前端流程自动化配置-【持续优化】

    前言 近期用Grunt进行前端开发经常要用到的一些Grunt插件,用起来非常顺手. 一.package.json文件配置如下: 包括coffeescript编译为js,css加CSS3适配前缀,css ...

  8. 【转】查询oracle比较慢的session和sql

    -查询最慢的sql select * from ( select parsing_user_id,executions,sorts command_type,disk_reads,sql_text f ...

  9. Mac锁屏

    http://www.dbform.com/html/2006/192.html 应用程序-实用工具-钥匙锁-菜单栏中的钥匙串访问-偏好设置-选中“在菜单栏中显示钥匙串”

  10. 将一个字符串中的大写字母转换成小写字母,小写字母转换成大写字母(java)

    背景:刚刚学到java的String和StringBuffer类,遇到如标题所示的题. 要求:必须要用到String类的toUpperCase方法和toLowerCase方法 思路:用到StringB ...