我正在尝试使用SSDT将其发布到Azure中的SQL Server数据库。这样做时,我看到以下错误:
无法连接到主服务器或目标服务器“ DATABASE_NAME”。主服务器或目标服务器“ DATABASE_NAME”中的用户必须具有相同的密码。
忽略错误中将数据库名称作为服务器名称列出的事实,我不确定如何解决。指定目标数据库后,就可以成功测试连接。我也可以使用相同的凭据通过SSMS连接到数据库。
在研究了错误之后,似乎Azure中数据库的防火墙通常不包括您要从中发布计算机的IP地址。它不仅包含我的IP,而且还添加了另一个防火墙规则,以允许每个IP(0.0.0.0-255.255.255.255)消除引起问题的防火墙。
有任何想法吗?
这是一个已知的问题。发生这种情况是由于新创建的SQL Azure数据库具有新的兼容性级别140。该问题已记录在此处,将SSDT从此处更新到最新版本可以解决此问题。
或者,您可以将数据库的兼容性级别更改为130。
ALTER DATABASE database_name SET COMPATIBILITY_LEVEL = 130;
希望这可以帮助。