微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sql-server – 如何在没有VerifyExtraction的情况下将MSSQLServer数据库提取为.dacpac?

我想使用Server Management Studio提取MSsqlServer数据库数据库模式.我使用Extract命令“Extract Data-tier Application ..”

数据库中有几个引用另一个数据库.因为这样我得到以下错误.

提取数据库错误:验证数据包的架构模型失败.
错误sql71562:验证元素[dbo]时出错.[x]有一个未解析的对象[dbo]引用[y].从此平台创建包时不支持外部引用.

问题是,SSMS使用sqlPackage.exe参数/ p:VerifyExtraction = True.当我使用控制台并调用sqlPackage.exe没有这个参数,它使用/ p:VerifyExtraction = False认情况下,我可以创建.dacpac文件.

有没有办法配置SSMS来禁用验证?

解决方法

我无法找到在SSMS(2008 R2或2012)中有效的方法,但是使用SSDT的Visual Studio(2013)似乎可以工作:在VS中,转到sql Server对象资源管理器,连接到有问题的服务器右键单击相关数据库,提取数据层应用程序,然后调整提取设置,其中之一是“验证提取”.我不知道为什么MS不会将其构建到SSMS中.

我注意到一个有点奇怪的事情,但是,尽管如此,VS只会通过这种方法提取一个.DacPac.即使您选择将数据添加提取,扩展名仍然是.DacPac.我的印象是.DacPacs仅用于Schema,而.BacPacs是Schema Data.无论如何,在VS创建了.DacPac(模式数据)文件之后,SSMS能够使用“部署数据层应用程序…”向导导入它.

原文地址:https://www.jb51.cc/mssql/82205.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐