您会想到的很简单,但是由于我无法在该数据库中编辑架构,所以我不知道将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
我尝试过其他解决方案,例如:
我可以一次导出一个表,但是后来我丢失了可以一起使用的某些模式架构,因此我在那里也出错。
我确实应该能够以与当前在生产服务器上相同的状态获得数据库的本地副本。我还有其他关于如何执行此操作的想法,这些想法将忽略数据库的问题,而只是为我提供数据库在生产中的确切方式的本地副本?执行此操作或其他操作的第三方工具?
我决定只编写所有表的脚本,然后在新数据库上运行该脚本。有很多错误,但是它尽了最大的努力,占数据库架构的99.99%,这足以满足我的目的。也许我也将尝试导出和导入数据。
编辑:要导出数据,我只是使用SSMS导出数据,而使用的目标是我刚刚从脚本创建的新LocalDB数据库。