无法连接Azure SQL Server及相关技术问题咨询
问题解答
1. SSMS Windows身份验证连接Azure SQL报错40607
这个错误和本地安装的SQL Server 2022无关,原因是你创建的Azure SQL Server仅启用了Microsoft Entra身份验证,而SSMS里的“Windows身份验证”是针对本地Active Directory的,和Azure Entra不属于同一认证体系。
解决方法:
- 在SSMS连接窗口中,身份验证选项选择Azure Active Directory - 通用且具有MFA支持(若你的账户需要多因素验证);如果是本地AD同步到Entra的域账户,可选择Azure Active Directory - 集成
- 输入你的Entra账户邮箱作为登录名,完成认证即可连接
2. Azure SQL返回@@VERSION为2012,能否更新版本?
你看到的SELECT @@VERSION返回的“2012”是数据库的兼容性级别,不是Azure SQL Database实际运行的引擎版本。Azure SQL Database是PaaS服务,后台会自动升级到最新的SQL Server引擎(当前已基于SQL Server 2022引擎),无需手动更新实例版本。
如果需要更高的兼容性级别(比如匹配SQL Server 2022的行为),可以:
- 通过T-SQL修改:
(160对应SQL Server 2022兼容性,150对应2019,140对应2017)ALTER DATABASE [你的数据库名称] SET COMPATIBILITY_LEVEL = 160; - 创建数据库时,在Azure门户的创建向导“附加设置”中,可直接选择目标兼容性级别
3. sqlcmd -L返回所有属性为“?”,是否有问题?
sqlcmd -L用于扫描本地网络中的SQL Server实例,返回“?”通常是以下原因导致:
- 本地SQL Server浏览器服务未启动
- 防火墙阻止了UDP 1434端口(SQL Server浏览器服务的通信端口)
这个问题不会影响你连接Azure SQL Server,因为Azure SQL是通过公网TCP端口(默认1433)连接,不需要依赖本地实例扫描服务。如果需要扫描本地SQL Server实例,启动SQL Server浏览器服务并开放UDP 1434端口即可。
内容的提问来源于stack exchange,提问作者Ritwik Das
相关产品推荐
相关产品推荐

