dacpac文件向LocalDB发布错误:“无法部署该元素。该元素包含无法在目标数据库中重新创建的状态。”

问题描述 投票:0回答:1

您会想到的很简单,但是由于我无法在该数据库中编辑架构,所以我不知道将dacpac文件发布到本地数据库时如何克服此错误。我正在尝试获取Azure托管的数据库的副本,并将其本地存储以用于我自己的开发目的。我不是该数据库的系统管理员,但除此以外,我拥有完全的访问权限。这是一个生产数据库,因此由于明显的原因我无法搞乱任何东西。

我曾经第一次创建此dacpac文件时曾经历过一次。尝试导出为带有数据的bacpac文件时,我收到了更多的错误/警告(这是我真正想要做的,但我稍后会担心)。

这是我正在尝试的命令:

SqlPackage.exe /Action:Publish /SourceFile:" C:\Data\opkCore.dacpac" /TargetConnectionString:"Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=opkCore; Integrated Security=true;"

这是我用来创建dacpac文件的内容:

sqlpackage.exe /Action:Export /ssn:tcp:<MyDatabase>.database.windows.net,1433 /sdn:opkCore /su:<MyUserName> /sp:<MyPassword> /tf:C:\Data\opkCore.bacpac 

我尝试过其他解决方案,例如:

  1. 导出数据层应用程序,但是我仅限于在Azure容器中进行操作,而我无法控制。它是一种即用即付的模型,显然不支持Blob存储]
  2. 复制数据库仅适用于2005年或更早的版本,这是SQL 2019
  3. 将数据库部署到Microsoft SQL Server Azure SQL数据库
  4. 导入数据层应用程序,与#1相同的问题
  5. 使用SqlPackage.exe导出bacpac文件-我无法修复的所有地方出现错误。数据库不是我搞砸的]

我可以一次导出一个表,但是后来我丢失了可以一起使用的某些模式架构,因此我在那里也出错。

我确实应该能够以与当前在生产服务器上相同的状态获得数据库的本地副本。我还有其他关于如何执行此操作的想法,这些想法将忽略数据库的问题,而只是为我提供数据库在生产中的确切方式的本地副本?执行此操作或其他操作的第三方工具?

sql-server azure-sql-database ssms database-backups
1个回答
0
投票

我决定只编写所有表的脚本,然后在新数据库上运行该脚本。有很多错误,但是它尽了最大的努力,占数据库架构的99.99%,这足以满足我的目的。也许我也将尝试导出和导入数据。

编辑:要导出数据,我只是使用SSMS导出数据,而使用的目标是我刚刚从脚本创建的新LocalDB数据库。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.