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

前端之家收集整理的这篇文章主要介绍了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能够使用“部署数据层应用程序…”向导导入它.

猜你在找的MsSQL相关文章