我最近设置了 Azure SQL 数据库和服务器(使用免费的 S0 试用版)。我已经能够使用 SQL Server Management Studio 登录并创建几个用户,并且我已经能够通过 SQL Server Management Studio 以这些用户身份登录。我还可以从 Visual Studio 的服务器管理器和 SQL Server 对象资源管理器登录并管理数据库。
我的 Visual Studio 解决方案中有一个针对我正在开发的应用程序的 SQL 数据库项目。使用我在 SSMS 和 VS 的服务器管理器中使用的相同连接字符串,数据库项目无法发布到 Azure,并引发以下错误:
Unable to connect to master or target server '{Redacted}'.
You must have a user with the same password in master or target server '{Redacted}'.
我的IP已添加到防火墙并设置为允许访问。我的用户名不包含@符号,并且我尝试过使用和不使用@servername,没有任何改变。我还尝试手动设置连接字符串,并在 Azure 中复制/粘贴该连接字符串(并填充用户名和密码)。
我目前将数据库项目的目标平台
设置为Microsoft Azure SQL Database V12
,它与它报告的版本相匹配,尽管我只尝试了 Microsoft Azure SQL 数据库
和 SQL Server 2016
。
鉴于我能够通过迄今为止尝试过的所有其他方法进行连接,我认为我的发布配置文件或项目中存在一些对我来说不突出的奇怪内容,或者发布实用程序中的错误。有什么想法吗?
最佳答案
这是一个已知问题。发生这种情况是由于新创建的 SQL Azure 数据库的新兼容性级别为 140。该问题已记录在案here并从 here 更新 SSDT更新到最新版本可能会解决该问题。
或者,您可以将数据库的兼容性级别更改为 130。
ALTER DATABASE database_name
SET COMPATIBILITY_LEVEL = 130;
希望这有帮助。
关于visual-studio - 从 Visual Studio 2017 发布到 Azure SQL - 无法连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46725298/