数据库SQL Server DAC 导入导出数据到SQL Azure问题
对Export data-tier application报错的处理 Error:SQL71564


这个问题是数据库中一些对象如MS_Description,MS_DiagramPane1不支持DAC Export Data-tier Appliation 的操作。
详见:DAC Support For SQL Server Objects and Versions http://msdn.microsoft.com/en-us/library/ee210549.aspx 这里有详细的说明。
遇到这个种问题一般的采用减轻问题的解决办法(Mitigation)
1. 首先选用支持DAC Extract Data-tier Application的数据库版本,如SQL Server 2008 R2 SP2或者更高版本。导出dacpac文件,这个文件包含了数据库结构,metadata和schema
2. 因为有的对象不支持DAC Export Data-tier Application,即导出bacpac文件。所以我们不能采取这种方式,我们采取微软提供的工具bcp.exe
3. 使用BCP.exe工具导出导入数据
- 下载并安装Microsoft® ODBC Driver 11 for SQL Server® - Windows http://www.microsoft.com/zh-cn/download/details.aspx?id=36434
- 下载并安装 Microsoft Command Line Utilities 11 for SQL Server http://www.microsoft.com/zh-CN/download/details.aspx?id=36433
- 使用BCP工具从SQL Server导出数据
参考用例:C:\Users\ericwen>bcp ZcooTongDB.dbo.ZCT_SuperAdmins out "D:\DAC Packages\ ZcooTongDB.bacpac" -U sa -P *****
- 使用BCP工具导入数据到SQL Azure
参考用例:C:\Users\ericwen>bcp ZcooTongDB1.dbo.ZCT_SuperAdmins in "D:\DAC Packages\ ZcooTongDB.bacpac" -U ericwen@[云数据库名称] -P ****** -S "[云数据库名称].database.windows.net"
bcp 实用工具:http://technet.microsoft.com/zh-cn/library/ms162802.aspx
在操作过程中可以用默认的选项,直接回车。如图:

如何实现批量导出数据呢,可以再SSMS运行以下脚本
SELECT
'bcp '
+ SCHEMA_NAME(schema_id) + '.' + name
+ ' out '
+ ' D:\local_backup_directory\' + SCHEMA_NAME(schema_id) + '.' + name + '.txt'
+ ' -c '
+ ' -S servername.database.windows.net '
+ ' -d database_name '
+ ' -U username '
+ ' -P password'
FROM sys.tables;
将查询结果保存到bcpcmd.bat文件中,然后用cmd运行即可
4. 清除数据库中的Table、View、Column中的不支持DAC的对象(不支持Export 到 bacpac文件的对象)
在SSMS里运行
|
--tables --views --columns |
将运行后的结果再到SSMS里运行就可以移除那些不支持的对象了,这样再进行Export操作就可以成功。
DAC相关文档:http://msdn.microsoft.com/en-us/library/ee210546.aspx
数据库SQL Server DAC 导入导出数据到SQL Azure问题的更多相关文章
- 从SQL Server中导入/导出Excel的基本方法(转)
从sql server中导入/导出 excel 的基本方法 /*=========== 导入/导出 excel 的基本方法 ===========*/ 从excel文档中,导入数据到sql数据库中,很 ...
- sql点滴38—SQL Server 2008和SQL Server 2008 R2导出数据的选项略有不同
原文:sql点滴38—SQL Server 2008和SQL Server 2008 R2导出数据的选项略有不同 说明: 以前要将一个表中的数据导出为脚本,只有用存储过程.现在在SQL Server ...
- SQL SERVER BCP导入导出
bcp是SQL Server中负责导入导出数据的一个命令行工具,它是基于DB-Library的,并且能以并行的方式高效地导入导出大批量的数据.bcp可以将数据库的表或视图直接导出,也能通过SELECT ...
- SQL Server 2008 R2导出数据脚本的方法
以前看到有些朋友说必须SQL Server 2008才能导出包含数据的脚本,后来仔细研究发现其实SQL Server 2008 R2也是可以的,只需在导出的时候在高级中设置一下即可. 1.首先在数据库 ...
- SQL Server使用导入导出向导导入超过4000个字符的字段的数据
在使用SQL Server导入导出向导导入数据的时候,我们经常会碰到某个单元格的数据超长而被截断报错的情况.本文针对这种场景给出相应的解决方案. 环境描述:SQL Server 2012,文件源: ...
- SQL server 2014使用导出数据为Excel
1.打开SQL server 2014,连接至数据库引擎 2.在要导出的数据库上右击,选择"任务->导出数据" 3.数据源选择"SQL Server Native ...
- SQL Server 2005导入Excel表问题
EXCEL导入到SQL Server经常出现“文本被截断,或者一个或多个字符在目标代码页中没有匹配项” 原因: SQL Server的导入导出为了确定数据表的字段类型,取excel文件的前8行来判别. ...
- SQL SERVER 和ACCESS的数据导入导出
//批量导入Access string filepath = Server.MapPath("student.mdb"); stri ...
- 常见SQL Server导入导出数据的几个工具
摘自:http://www.cnblogs.com/chenxizhang/archive/2011/06/09/2076542.html 在我们的日常工作中,与数据库打交道的机会越来越多.这一篇文章 ...
随机推荐
- 烂泥:KVM虚拟机克隆
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 上一篇文章介绍了有关KVM虚拟机快照的创建与恢复,这篇文章我们来介绍有关KVM虚拟机克隆. KVM虚拟机的克隆,我们可以分以下几步: 1. 使用virt ...
- javascript 特效实现(3)—— 鼠标滑过显示二级菜单效果
1. 关键代码:使用 switch 或 if 判断语句,改变对应的二级菜单显示方式为 block 或 none function selectTabMenu(i){ switch(i){ case 7 ...
- freemarker如何遍历HashMap
查询资料有以下两种方法: 1. <#if appMap?exists> <#list appMap?keys as key> key:${key} value:${appMap ...
- cnblogs美化及插件
1.vp计数 http://www.amazingcounters.com 2.来源地图 http://clustrmaps.com 2.1来源地图 http://www.flagcounter.co ...
- 对于大学4年的反思(续),记我的ThoughtWorks面试
之前我写了一篇对于大学四年的反思,时隔一个月,为什么我这么快就要来写这篇续章呢?主要有两个原因,第一是感谢静子姐姐,记得知乎上有个回答里面说过人生需要有贵人的帮助,遇到贵人是一件很幸运的事情.我想,静 ...
- 不会UML的程序员不是好构架师?
情况描述 我已经工作两年半, 参加过一个网页游戏项目和一个IOS应用项目, 自以为参与度非常高, 也经常涉及到底层引擎和主逻辑业务. 目前想更快的向构架师方向发展. 最近在看\<Learning ...
- 实用图像处理入门 - 2 - Windows平台下编译openCV
标签中的部分 font-family: 华文细黑; font-size: 26px; font-weight: bold; color: #611427; margin-top:40px; } h2 ...
- Head First HTML5 Programming 读书笔记
1:HTML5引入了简单化的标记,新的语义和媒体元素,另外要依赖于一组支持web应用的js库. 2:关于js 对象是属性的结合 window对象是全局变量. document对象是window的一个属 ...
- POJ 1151 Atlantis 线段树求矩形面积并 方法详解
第一次做线段树扫描法的题,网搜各种讲解,发现大多数都讲得太过简洁,不是太容易理解.所以自己打算写一个详细的.看完必会o(∩_∩)o 顾名思义,扫描法就是用一根想象中的线扫过所有矩形,在写代码的过程中, ...
- java 12-1 StringBuffer类
线程安全(多线程讲解) 安全 -- 同步 -- 数据是安全的--效率低一些 不安全 -- 不同步 -- 数据不安全--效率高一些 安全和效率问题是永远困扰我们的问题. 安全:医院的网站,银行网站 效率 ...