我在发布SSDT数据库项目并将其注册为数据层应用程序时遇到问题。让我解释一下。
我有一个数据库(A),它通过链接服务器引用另外两个数据库(B& C)。我已经创建了基于B和C的项目,并为项目创建了快照,为数据库B和C创建了dacpac。我为数据库A创建了一个数据库项目,它通过dacpac提供了对B和C的数据库引用。我设置了SQLCMD变量并修改了db project ddl脚本以使用SQLCMD变量代替未解析的链接服务器名称。该项目建立!
我正在尝试将项目发布为数据层应用程序但仍然收到以下错误“注册为DAC数据库的数据库必须由SQL 2005 SP4,SQL 2008 SP2,SQL 2008 R2,SQL 2012或SQL Azure“。顺便说一句,我正在运行SQL Server 2012。
我以为我会测试是否可以通过SSMS注册为数据层应用程序。在SSMS中,“注册为数据层应用程序”选项显示为灰色。因此,我试图“导出数据层应用程序”并且在引用链接服务器对象时收到了一些错误。
我的问题是;是否可以部署SSDT数据库项目并将其注册为项目使用链接服务器的数据层应用程序,或者我做错了什么?如果有可能,某人可以提供一些建议。
我已经打破谷歌寻找答案,所以任何帮助将不胜感激......
答案 0 :(得分:0)
我最近遇到此错误,所以我会为遇到此问题的其他人添加我的解决方案,已添加到dba stack exchange
在我的publish.xml中,我将RegisterDataTierApplication设置为True。我第一次发布数据库时工作正常,但后来我得到了同样的错误,因为数据库已经注册为数据层应用程序。
通过设置为false(或取消选中gui中的复选框),它可以正常工作。