概述
本主题介绍如何连接到运行于 Azure 虚拟机的 SQL Server 实例。 它介绍了一些常规连接方案,并提供了在 Azure VM 中配置 SQL Server 连接的详细步骤。
Note
Azure 具有用于创建和处理资源的两个不同的部署模型:Resource Manager 和经典。 本文介绍如何使用 Resource Manager 部署模型。Azure 建议对新的部署使用该模型,而不是经典部署模型。
如需观看预配和连接的完整演练,请参阅在 Azure 上预配 SQL Server 虚拟机。
连接方案
客户端连接虚拟机上运行的 SQL Server 的方式取决于客户端的位置与网络配置。
如果在 Azure 门户中预配 SQL Server VM,则可以选择指定“SQL 连接”的类型。
用于连接的选项包括:
选项说明
公共通过 Internet 连接到 SQL Server
专用连接到同一虚拟网络中的 SQL Server
本地在同一虚拟机上本地连接到 SQL Server
以下各节详细说明了“公共”和“专用”选项。
通过 Internet 连接到 SQL Server
如果想要通过 Internet 连接到 SQL Server 数据库引擎,则请在预配过程中通过门户选择“公共”作为“SQL 连接”类型。 门户自动执行以下步骤:
为 SQL Server 启用 TCP/IP 协议。
配置防火墙规则以打开 SQL Server TCP 端口(默认值为 1433)。
启用公共访问所需的 SQL Server 身份验证。
在 VM 上将网络安全组配置为 SQL Server 端口上的所有 TCP 流量。
Important
SQL Server Developer Edition 和 Express Edition 的虚拟机映像不会自动启用 TCP/IP 协议。 对于 Developer Edition 和 Express Edition,在创建 VM 后,必须使用 SQL Server 配置管理器手动启用 TCP/IP 协议。
任何可以访问 Internet 的客户端都可以连接到 SQL Server 实例,只需指定虚拟机的公共 IP 地址或分配到该 IP 地址的任何 DNS 标签即可。 如果 SQL Server 端口为 1433,则不需在连接字符串中进行指定。 以下连接字符串使用 SQL 身份验证(还可以使用公共 IP 地址)连接到具有 DNS 标签sqlvmlabel.eastus.cloudapp.azure.com的 SQL VM。
复制
"Server=sqlvmlabel.chinaeast.chinacloudapp.cn;Integrated Security=false;User ID=;Password="
尽管客户端可通过 Internet 进行连接,但这并不意味着任何人都可以连接到 SQL Server。 外部客户端必须有正确的用户名和密码。 但是,为了提高安全性,可以不使用 1433 这个众所周知的端口。 例如,如果将 SQL Server 配置为在端口 1500 上进行侦听并制定了适当的防火墙和网络安全组规则,则可将端口号附加到服务器名称上进行连接。 下面的示例通过将自定义端口号 1500 添加到服务器名称,对前一个端口号进行了更改:
复制
"Server=sqlvmlabel.chinaeast.chinacloudapp.cn,1500;Integrated Security=false;User ID=;Password="
Note
在 VM 中通过 Internet 查询 SQL Server 时,Azure 数据中心的所有传出数据都将服从常规出站数据传输的定价。
在虚拟网络中连接到 SQL Server
在门户中为“SQL 连接”类型选择“专用”时,Azure 会将大多数设置配置为相同的“公共”。 其中一个区别在于,不存在允许 SQL Server 端口(默认值为 1433)上的外部流量的网络安全组规则。
Important
SQL Server Developer Edition 和 Express Edition 的虚拟机映像不会自动启用 TCP/IP 协议。 对于 Developer Edition 和 Express Edition,在创建 VM 后,必须使用 SQL Server 配置管理器手动启用 TCP/IP 协议。
专用连接通常与虚拟网络结合使用,从而启用多个方案。 可以连接同一虚拟网络中的 VM,即使这些 VM 位于不同的资源组中。 使用站点到站点 VPN,可以创建连接 VM 与本地网络和计算机的混合体系结构。
虚拟网络还允许将 Azure VM 加入域。 这是对 SQL Server 使用 Windows 身份验证的唯一方式。 其他连接方案需要使用用户名和密码进行 SQL 身份验证。
假设已在虚拟网络中配置 DNS,则可在连接字符串中指定 SQL Server VM 计算机名来连接 SQL Server 实例。 以下示例还假设同时已配置 Windows 身份验证,并且用户已获得访问 SQL Server 实例的权限。
复制
Server=mysqlvm;Integrated Security=true
更改 SQL 连接设置
可以更改 Azure 门户中的 SQL Server 虚拟机的连接设置。
在 Azure 门户中,选择“虚拟机”。
选择 SQL Server VM。
在“设置”下,单击“SQL Server 配置”。
将“SQL 连接级别”更改为所需设置。 可以选择性地使用此区域来更改 SQL Server 端口或 SQL 身份验证设置。
请等待几分钟时间以完成更新。
为 Developer Edition 和 Express Edition 启用 TCP/IP
更改 SQL Server 连接性设置时,Azure 不会为 SQL Server Developer Edition 和 Express Edition 自动启用 TCP/IP 协议。 以下步骤说明了如何手动启用 TCP/IP,以便通过 IP 地址进行远程连接。
首先,通过远程桌面连接到 SQL Server 计算机。
创建并运行 Azure 虚拟机以后,单击 Azure 门户中的“虚拟机”图标即可查看 VM。
单击对应于新建 VM 的省略号“...”。
单击“连接”。
打开浏览器为 VM 下载的 RDP 文件。
“远程桌面连接”会通知你,无法识别此远程连接的发布者。 单击“连接”以继续。
在“Windows 安全性”对话框中,单击“使用其他帐户”。 可能需要单击“更多选项”才能看到此项。 指定在创建 VM 时配置的用户名和密码。 必须在用户名之前添加反斜杠。
单击“确定”进行连接。
接下来,通过“SQL Server 配置管理器”启用 TCP/IP 协议。
使用远程桌面连接到虚拟机后,搜索“配置管理器”:
在 SQL Server 配置管理器中,在控制台窗格中,展开“SQL Server 网络配置”。
在控制台窗格中,单击“MSSQLSERVER 的协议”(默认实例名称)。在详细信息窗格中,右键单击“TCP”,然后单击“启用”(如果尚未启用)。
在控制台窗格中,单击“SQL Server 服务”。 在详细信息窗格中,右键单击SQL Server (实例名)(默认实例为“SQL Server (MSSQLSERVER)”),然后单击“重新启动”以停止并重新启动该 SQL Server 实例。
关闭 SQL Server 配置管理器。
有关启用 SQL Server 数据库引擎的协议的详细信息,请参阅启用或禁用服务器网络协议。
使用 SSMS 进行连接
以下步骤演示如何为 Azure VM 创建可选 DNS 标签,然后与 SQL Server Management Studio (SSMS) 进行连接。
配置用于公共 IP 地址的 DNS 标签
若要从 Internet 连接到 SQL Server 数据库引擎,请考虑创建用于公共 IP 地址的 DNS 标签。 可以通过 IP 地址进行连接,但 DNS 标签可以创建更容易标识的 A 记录,并可抽象基础性公共 IP 地址。
Note
如果打算只连接到同一虚拟网络中的 SQL Server 实例,或者只进行本地连接,则 DNS 标签不是必需的。
若要创建 DNS 标签,请首先在门户中选择“虚拟机” 。 选择要显示其属性的 SQL Server VM。
在虚拟机概述中,选择“公共 IP 地址”。
在公共 IP 地址的属性中,展开“配置” 。
输入 DNS 标签名称。 此名称是一种可通过名称而非 IP 地址直接连接到 SQL Server VM 的 A 记录。
单击“保存”按钮 。
从其他计算机连接到数据库引擎
在连接到 Internet 的计算机上,打开 SQL Server Management Studio (SSMS)。 如果没有 SQL Server Management Studio,可以从此处下载。
在“连接到服务器”或“连接到数据库引擎”对话框中,编辑“服务器名称”值。 输入虚拟机的 IP 地址或完整 DNS 名称(已在上一个任务中确定)。 也可添加逗号并提供 SQL Server 的 TCP 端口。 例如,mysqlvmlabel.chinaeast.cloudapp.chinacloudapi.cn,1433。
在“身份验证”框中,选择“SQL Server 身份验证”。
在“登录” 框中,键入有效 SQL 登录的名称。
在“密码” 框中,键入登录的密码。
单击“连接”。
后续步骤
若要查看预配说明以及这些连接步骤,请参阅在 Azure 上预配 SQL Server 虚拟机。
有关其他与在 Azure VM 中运行 SQL Server 相关的主题,请参阅Azure 虚拟机上的 SQL Server。