Azure VM中SQL Server 2017连接级别置灰无法修改的解决咨询
碰到过好多次这种情况,Azure门户里SQL Server连接级别的下拉框灰化,大多是依赖的SQL Server IaaS代理出了状况,给你几个靠谱的解决步骤:
检查并重启SQL Server IaaS代理
登录到你的Azure VM内部,打开服务管理器(直接运行services.msc命令即可),找到SQL Server IaaS Agent服务。如果它处于停止状态,右键选择「启动」,同时把启动类型设置为自动,避免VM重启后代理再次停止导致问题。验证代理账户的SQL权限
这个代理默认用NT SERVICE\SQLIaaSExtension账户运行,需要它拥有SQL Server的服务器管理员权限。打开SSMS登录到你的SQL Server,展开「安全性」>「登录名」,检查这个账户是否存在,并且属于sysadmin服务器角色。如果没有,添加该登录名并分配sysadmin权限,之后重启SQL Server IaaS代理服务。用PowerShell直接修改连接级别(绕过门户UI)
如果上面两步操作后下拉框还是灰的,可以直接用Azure PowerShell命令强制修改,不用等门户UI恢复:- 打开Azure Cloud Shell或者本地的Azure PowerShell,先登录你的Azure账户:
Connect-AzAccount - 切换到对应的Azure订阅:
Select-AzSubscription -SubscriptionId "你的订阅ID" - 执行命令修改连接级别为private:
Set-AzSqlVM -ResourceGroupName "你的资源组名称" -Name "你的VM名称" -ConnectivityType "PRIVATE"
执行完成后回到Azure门户刷新页面,就能看到连接级别已经更新为private,下拉框也会恢复可编辑状态。
- 打开Azure Cloud Shell或者本地的Azure PowerShell,先登录你的Azure账户:
排查VM的网络通信限制
最后确认一下VM的NSG(网络安全组)没有阻止出站的HTTPS(443端口)流量,因为SQL Server IaaS代理需要和Azure后台服务通信同步配置,如果这个端口被封了,代理无法正常工作也会导致门户UI异常。
内容的提问来源于stack exchange,提问作者Daisy

