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能够使用“部署数据层应用程序…”向导导入它.

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...