问题
我在Azure虚拟机(VM)上安装了SQL Server实例。有什么方法可以使用本地桌面上的SQL Server Management Studio(SSMS)访问此实例?
解
本技巧假定您已经在Azure VM上安装了SQL Server实例。您可以使用 此链接 在Azure VM上设置自己的SQL Server。有关Azure的更多信息,请参考MSSQLTips.com上的这些有用的 SQL Azure技巧。
在本地使用SSMS连接到Azure
从如下所示的Azure门户,连接到已安装SQL Server实例的Azure虚拟机。
接下来,在此虚拟机上配置防火墙规则以打开端口1433。转到“控制面板”>“ Windows防火墙”。在Windows防火墙窗口中,单击“高级设置”。
在“具有高级安全性的Windows防火墙”窗口上,单击“入站规则”,然后在右窗格中选择“新规则”。
在“新建入站规则向导”中,单击“端口”,然后单击“下一步”。
在“协议和端口”窗口中,选择“ TCP”,然后输入“ Specific Local Ports”作为1433,然后单击“下一步”。
在“操作”窗口中,选择“允许连接”选项,然后单击“下一步”。
在“配置文件”窗口中,保留如下所示的默认选择,然后单击“下一步”。
在“名称”窗口中,输入如下所示的详细信息,然后单击“完成”。
接下来,确认虚拟机上已启用TCP / IP协议。转到“ SQL Server配置管理器”控制台。在Windows资源管理器中,键入“ SQLServerManager13.msc”,它将带您到SQL Server 2016 Configuration Manager。在“ SQL Server网络配置”下,确保已启用TCP / IP。请参阅下面的屏幕截图。如果禁用此功能,请将状态更改为“已启用”,然后重新启动SQL Server服务。
由于我们将在Azure VM外部本地连接到SQL Server实例,因此我们需要使用经过SQL身份验证的登录名。为此,请确保在SQL Server实例上启用了混合模式身份验证。请参阅下面的屏幕截图。如果未启用混合模式,请确保启用此选项,然后重新启动SQL Server服务。
确保创建具有足够权限的SQL身份验证登录名。这是您将用于使用SSMS在本地连接到Azure SQL实例的登录名。
在Azure门户上,单击虚拟机,转到“设置”,然后选择“端点”,如图所示。
单击“添加”,然后输入显示的详细信息并保存。
若要在本地连接到SQL实例,您将需要可从Azure门户获取的DNS名称。请参阅此屏幕截图。
使用SQL Server 2016,我们可以仅下载SQL Server Management Studio,这是免费的,不需要许可证即可使用。如果本地未安装SSMS,则可以从此链接下载SSMS 。在SSMS中,提供完整的DNS名称,在端点中提供的公用端口以及用于创建的SQL登录名的凭据。请参阅下面的屏幕截图。
这样,您应该能够使用SSMS的本地副本连接到安装在Azure VM上的SQL Server实例。