我们正在尝试使用 SQLPackage.exe 创建一个数据库提取“dacpac”文件,以便在基于工作室的 SQL 服务器项目的上下文中使用。我们的目标是能够使用 SQL Server Data Tools 在源代码控制中管理我们的数据库架构并允许部署等。
我们遇到的问题是我们的一个目标数据库中存在对称密钥,导致 sqlpackage 每次都抛出此错误:
该命令如下所示:
sqlpackage /Action:Extract /SourceConnectionString:"Data Source=MyDataSource;Initial Catalog=MyDatabase;Integrated Security=True;" /TargetFile:MyExtract.dacpac
但是我们每次都会收到这个错误:
*** Error extracting database:Could not extract package from specified database.
Error 0: An error occurred while attempting to reverse engineer elements of type
Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlSymmetricKey: Identifier part cannot be null.
我尝试了一些命令行技巧,例如使用 /p:ExcludeObjectType 但 Action:Extract 不允许使用此参数
我们实际上并不关心通过 SSDT 管理密钥,只是想忽略它们。请注意,数据库位于 SQL Server 2005 SP3 上,我使用的是与 Studio 2015 捆绑的 SSDT ...