我有一个数据仓库的数据库,其目标是超过1分贝。
所以在使用我的qa和dev数据库进行生产平衡后,我创建了一个Sqlproject,允许我的团队使用ssdt以及它提供的所有自动内容。
但是当我尝试编译它会抛出大量的“我没有得到对其他db的引用”错误......
THIS_VIEW.sql(30,27):错误:SQL71561:查看:[dbo]。[THIS_VIEW]有一个 未解析的对象[OTHER_DB]的引用。[dbo]。[MYTABLE]。[FOO]。
THIS_VIEW.sql(31,25):错误:SQL71561:查看:[dbo]。[THIS_VIEW]有一个 未解析的对象[OTHER_DB]的引用。[dbo]。[MYTABLE]。[BAR]。
THIS_VIEW.sql(32,4):错误:SQL71561:查看:[dbo]。[THIS_VIEW]有一个 未解析的对象[OTHER_DB]的引用。[dbo]。[MYTABLE]。[BAZ]。
THIS_VIEW.sql(33,4):错误:SQL71561:查看:[dbo]。[THIS_VIEW]有一个 未解析的对象[OTHER_DB]的引用。[dbo]。[MYTABLE]。[QUX]。
我怎么解决这个问题?
答案 0 :(得分:2)
您需要为项目添加一些数据库引用。我通常通过为“Other_DB”数据库创建一个dacpac来完成此操作,将其放在所有数据库项目都可以访问的位置(通常是解决方案上方一级的文件夹),并添加数据库引用而无需使用变量对于数据库名称。
我在这里写了这篇文章: http://schottsql.blogspot.com/2012/10/ssdt-external-database-references.html
如果VS / SSDT不起作用,您可以使用SQLPackage从现有数据库中提取dacpac。我使用GUI工具创建了一个dacpac文件,取得了不错的成功。