• 使用Management Studio的本地副本访问Azure VM上的SQL Server实例


    问题

    我在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虚拟机。

     
    Azure门户

    接下来,在此虚拟机上配置防火墙规则以打开端口1433。转到“控制面板”>“ Windows防火墙”。在Windows防火墙窗口中,单击“高级设置”。

    Windows防火墙高级设置

    在“具有高级安全性的Windows防火墙”窗口上,单击“入站规则”,然后在右窗格中选择“新规则”。

    Windows防火墙入站规则

    在“新建入站规则向导”中,单击“端口”,然后单击“下一步”。

    新的入站规则向导的端口

    在“协议和端口”窗口中​​,选择“ TCP”,然后输入“ Specific Local Ports”作为1433,然后单击“下一步”。

    新建入站规则向导的TCP端口

    在“操作”窗口中,选择“允许连接”选项,然后单击“下一步”。

    允许新入站规则向导的连接

    在“配置文件”窗口中,保留如下所示的默认选择,然后单击“下一步”。

     
    新建入站规则向导的配置文件

    在“名称”窗口中,输入如下所示的详细信息,然后单击“完成”。

    完成Windows入站规则向导

    接下来,确认虚拟机上已启用TCP / IP协议。转到“ SQL Server配置管理器”控制台。在Windows资源管理器中,键入“ SQLServerManager13.msc”,它将带您到SQL Server 2016 Configuration Manager。在“ SQL Server网络配置”下,确保已启用TCP / IP。请参阅下面的屏幕截图。如果禁用此功能,请将状态更改为“已启用”,然后重新启动SQL Server服务。

    验证TCP / IP是否在SQL Server配置管理器中运行

    由于我们将在Azure VM外部本地连接到SQL Server实例,因此我们需要使用经过SQL身份验证的登录名。为此,请确保在SQL Server实例上启用了混合模式身份验证。请参阅下面的屏幕截图。如果未启用混合模式,请确保启用此选项,然后重新启动SQL Server服务。

    SQL Server混合模式身份验证

    确保创建具有足够权限的SQL身份验证登录名。这是您将用于使用SSMS在本地连接到Azure SQL实例的登录名。

    SQL Server登录

    在Azure门户上,单击虚拟机,转到“设置”,然后选择“端点”,如图所示。

    Windows Azure门户设置端点

    单击“添加”,然后输入显示的详细信息并保存。

     
    添加SQL Server端点

    若要在本地连接到SQL实例,您将需要可从Azure门户获取的DNS名称。请参阅此屏幕截图。

    虚拟机的DNS名称

    使用SQL Server 2016,我们可以仅下载SQL Server Management Studio,这是免费的,不需要许可证即可使用。如果本地未安装SSMS,则可以从此链接下载SSMS 在SSMS中,提供完整的DNS名称,在端点中提供的公用端口以及用于创建的SQL登录名的凭据。请参阅下面的屏幕截图。

    在本地将Azure VM与SQL Server Management Studio连接

    这样,您应该能够使用SSMS的本地副本连接到安装在Azure VM上的SQL Server实例。

  • 相关阅读:
    file is universal (3 slices) but does not contain a(n) armv7s slice error for static libraries on iOS
    WebImageButton does not change images after being enabled in Javascript
    ajax OPTION
    编程遍历页面上所有TextBox控件并给它赋值为string.Empty?
    获取海洋天气预报
    C#线程系列教程(1):BeginInvoke和EndInvoke方法
    js控制只能输入数字和小数点
    Response.AddHeader(,)
    ManualResetEvent的理解
    Convert.ToInt32、int.Parse(Int32.Parse)、int.TryParse、(int) 区别
  • 原文地址:https://www.cnblogs.com/Javi/p/13265018.html
Copyright © 2020-2023  润新知