gpt4 book ai didi

sql-server - 如何在不使用 VerifyExtraction 的情况下将 MSSQLServer 数据库提取为 .dacpac?

转载 作者:太空狗 更新时间:2023-10-30 01:40:04 25 4
gpt4 key购买 nike

我想使用 Server Management Studio 提取 MSSQLServer 数据库的数据库模式。我使用提取命令“提取数据层应用程序..”

数据库中有多个对另一个数据库的引用。因此,我收到以下错误。

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

问题是,SSMS 使用带有参数 /p:VerifyExtraction=True 的 SQLPackage.exe。当我使用控制台并在没有此参数的情况下调用 SQLPackage.exe 时,它​​默认使用 /p:VerifyExtraction=False,我可以创建 .dacpac 文件。

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

最佳答案

我也无法找到适用于 SSMS(2008 R2 或 2012)的方法,但带有 SSDT 的 Visual Studio (2013) 似乎可行:在 VS 中,转到 SQL Server 对象资源管理器,连接到有问题的服务器,右键单击有问题的数据库,Extract Data-tier Application,然后调整Extract Settings,其中之一是“Verify extraction”。我不知道为什么 MS 不只是将其构建到 SSMS 中。

不过,我从中注意到一件有点奇怪的事情,那就是 VS 只会通过这种方法提取 .DacPac。即使您选择向提取中添加数据,扩展名仍然是 .DacPac。我的印象是 .DacPacs 仅用于 Schema Only,而 .BacPacs 用于 Schema + Data。无论如何,在 VS 创建 .DacPac(架构 + 数据)文件后,SSMS 能够使用“部署数据层应用程序...”向导将其正常导入。

关于sql-server - 如何在不使用 VerifyExtraction 的情况下将 MSSQLServer 数据库提取为 .dacpac?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26758512/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com