你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

在 Azure 门户中预配运行 SQL Server 的 Linux 虚拟机

适用于:Azure VM 上的 SQL Server

在本快速入门教程中,你将使用 Azure 门户创建装有 SQL Server 2017 的 Linux 虚拟机。 学习以下内容:

先决条件

如果没有 Azure 订阅,请在开始之前创建一个免费帐户

创建安装了 SQL Server 的 Linux VM

  1. 登录到 Azure 门户

  2. 在左窗格中,选择“创建资源”。

  3. 在“创建资源”窗格中选择“计算”。

  4. 选择“特色”标题旁边的“全部查看”。

    See all VM images

  5. 在搜索框中键入 SQL Server 2019,然后按 Enter 开始搜索 。

  6. 选择“操作系统”>“Red Hat”来限制搜索结果。

    Search filter for SQL Server 2019 VM images

  7. 从搜索结果中选择 SQL Server 2019 Linux 映像。 本教程使用 RHEL74 上的 SQL Server 2019。

    提示

    Developer 版允许使用 Enterprise 版的功能进行测试或开发,但没有 SQL Server 许可费用。 只需支付运行 Linux VM 的费用。

  8. 选择“创建”。

设置 Linux VM

  1. 在“基本信息”选项卡中,选择自己的订阅资源组

    Basics window

  2. 在“虚拟机名称”中,输入新 Linux VM 的名称。

  3. 然后键入或选择以下值:

    • 区域:选择合适的 Azure 区域。

    • 可用性选项:选择最适合应用和数据的可用性与冗余选项。

    • 更改大小:选择此选项以选择计算机大小,完成后,选择“选择”。 有关 VM 计算机大小的详细信息,请参阅 VM 大小

      Choose a VM size

    提示

    对于开发和功能测试,请使用 DS2 或更大的 VM 大小。 若要进行性能测试,则至少使用“DS13”。

    • 身份验证类型:选择“SSH 公钥”。

      注意

      可以选择使用“SSH 公钥”或“密码”进行身份验证。 SSH 更安全。 有关如何生成 SSH 密钥的说明,请参阅在 Linux 和 Mac 上为 Azure 中的 Linux VM 创建 SSH 密钥

    • 用户名:输入 VM 的管理员名称。

    • SSH 公钥:输入 RSA 公钥。

    • 公共入站端口:选择“允许所选的端口”,然后在“选择公共入站端口”列表中选择“SSH (22)”端口。 在本快速入门中,必须执行此步骤才能建立连接并完成 SQL Server 配置。 如果要远程连接到 SQL Server,则需要在创建虚拟机后,手动允许通过 Internet 进行连接的 Microsoft SQL Server 使用的默认端口 (1433) 的流量。

      Inbound ports

  4. 在后面的其他选项卡中对设置进行任何所需的更改,或保留默认设置。

    • 磁盘
    • 联网
    • Management
    • 来宾配置
    • 标记
  5. 选择“查看 + 创建”。

  6. 在“查看 + 创建”窗格中,选择“创建”。

连接到 Linux VM

如果已使用 BASH shell,请通过 ssh 命令连接到 Azure VM。 在以下命令中,替换连接到 Linux VM 所需的 VM 用户名和 IP 地址。

ssh azureadmin@40.55.55.555

可以在 Azure 门户中找到 VM 的 IP 地址。

IP address in Azure portal

如果在 Windows 上运行且没有 BASH shell,请安装 SSH 客户端,例如 PuTTY。

  1. 下载并安装 PuTTY

  2. 运行 PuTTY。

  3. 在 PuTTY 配置屏幕上,输入 VM 的公共 IP 地址。

  4. 选择“打开”,并根据提示输入用户名和密码。

若要详细了解如何连接到 Linux VM,请参阅使用门户在 Azure 上创建 Linux VM

注意

如果出现有关不会在注册表中缓存服务器主机密钥的 PuTTY 安全警报,请从以下选项中进行选择。 如果你信任此主机,请选择“是”将密钥添加到 PuTTy 缓存并继续进行连接。 如果你只想建立连接一次,而无需将密钥添加到缓存,请选择“否”。 如果你不信任此主机,请选择“取消”以放弃连接。

更改 SA 密码

新的虚拟机使用随机 SA 密码安装 SQL Server。 重置此密码,然后使用 SA 登录名连接到 SQL Server。

  1. 连接到 Linux VM 以后,请打开新的命令终端。

  2. 使用以下命令更改 SA 密码:

    sudo systemctl stop mssql-server
    sudo /opt/mssql/bin/mssql-conf set-sa-password
    

    出现提示时,输入新的 SA 密码和密码确认。

  3. 重新启动 SQL Server 服务。

    sudo systemctl start mssql-server
    

将工具添加到路径(可选)

默认安装了多个 SQL Server ,包括 SQL Server 命令行工具包。 工具包包含 sqlcmd 和 bcp 工具。 为了方便,可以选择将工具路径 /opt/mssql-tools/bin/ 添加到 PATH 环境变量。

  1. 运行以下命令以修改登录会话和交互式/非登录会话的路径 :

    echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
    echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
    source ~/.bashrc
    

针对远程连接进行配置

如果需要远程连接到 Azure VM 上的 SQL Server,必须在网络安全组上配置入站规则。 该规则允许 SQL Server 所侦听的端口(默认为 1433)上的流量。 以下步骤演示如何使用此步骤所对应的 Azure 门户。

提示

如果在预配过程中已在设置中选择了入站端口“MS SQL (1433)”,则已进行这些更改。 有关如何配置防火墙,可以转到下一部分。

  1. 在门户中选择“虚拟机”,然后选择 SQL Server VM。

  2. 在左侧窗格中的“设置”下,选择“网络”。

  3. 在“网络”窗口中,选择“入站端口规则”下的“添加入站端口”。

    Inbound port rules

  4. 在“服务”列表中,选择“MS SQL”。

    MS SQL security group rule

  5. 单击“确定”保存 VM 的规则。

打开 RHEL 上的防火墙

本教程介绍了如何创建 Red Hat Enterprise Linux (RHEL) VM。 若要远程连接到 RHEL VM,则还需在 Linux 防火墙上打开端口 1433。

  1. 连接到 RHEL VM。

  2. 在 BASH shell 中运行以下命令:

    sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
    sudo firewall-cmd --reload
    

后续步骤

在 Azure 中有了 SQL Server 2017 虚拟机以后,即可使用 sqlcmd 进行本地连接,以便运行 Transact-SQL 查询。

如果已将 Azure VM 配置为建立远程 SQL Server 连接,则应可建立远程连接。 若要通过示例来了解如何从 Windows 远程连接到 Linux 上的 SQL Server,请参阅使用 Windows 上的 SSMS 连接到 Linux 上的 SQL Server。 若要通过 Visual Studio Code 进行连接,请参阅使用 Visual Studio Code 创建和运行 SQL Server 的 Transact-SQL 脚本

有关 Linux 上的 SQL Server 的其他一般信息,请参阅 Linux 上的 SQL Server 2017 概述。 若要详细了解如何使用 SQL Server 2017 Linux 虚拟机,请参阅 Azure 上的 SQL Server 2017 虚拟机概述