我想用ServerManagementStudio提取MSSQLServer数据库的数据库模式.我使用提取命令"提取数据层应用程序…"

数据库中有几个对另一个数据库的引用.因此,我得到以下错误.

Error extracting database: Validation of the schema model for data package failed. Error SQL71562: Error validating element [dbo].[x] has an unresolved reference to object [dbo].[y]. External references are not supported when creating a package from this platform.

问题是,SSMS使用SQLPackage.参数为/p:VerifyExtraction=True的exe.当我使用控制台并调用SQLPackage时.如果没有这个参数,它默认使用/p:VerifyExtraction=False,我可以创建.dacpac文件.

是否有办法将SSMS配置为禁用验证?

推荐答案

我也找不到一种在SSMS(2008 R2或2012)中有效的方法,但Visual Studio(2013)和SSDT似乎有效:在VS中,转到SQL Server对象资源管理器,连接到有问题的服务器,右键单击有问题的数据库,提取数据层应用程序,然后调整提取设置,其中之一是"验证提取".我不知道MS为什么不把它构建到SSMS中.

不过,我在这样做的过程中注意到一件有点奇怪的事情,那就是VS只会通过这种方法提取一个.DacPac.即使您 Select 将数据添加到提取,扩展名仍然是.DacPac.我的印象是.DacPacs仅用于Schema,而.BacPacs用于Schema+数据.无论如何,在VS创建了.DacPac(Schema+Data)文件之后,SSMS能够使用"部署数据层应用程序."很好地导入它.巫师.

Database相关问答推荐

MongoDB事务,回调API方法

如何在保持相同 Flyway 校验和的同时更正语法?

在 ScyllaDB 中查询 100 亿行(高基数)的效率

Spring DriverManagerDataSource vs apache BasicDataSource

Sql更新查询

使用 LiquiBase 和 Spring 将大量值(使用 FK)插入数据库

在 postgresql 中将列从字符串更改为字符串数组

SQLAlchemy 和 django,准备好生产了吗?

PHP - 数据库抽象层使用静态类与单例对象?

ER图中的一对多关系

mysql,dump,数据库restore恢复

Windows 环境下无法识别 postgres 'psql' 命令

将少量信息保存为 android 中的设置

使用 JSON 作为存储/传输格式的数据库

我可以用 JPA 命名我的约束吗?

什么时候用R,什么时候用SQL?

如何使用 Realm 进行排序?

对于 N:M 关系,在 MongoDB 中推荐的级联删除等效项是什么?

在 Django 中,如何从数据库中 Select 100 条随机记录?

如何将 mongodb 数据库转移到另一台看不到第一个的机器上