快速入门:安装 SQL Server 和 Red Hat 上创建数据库
2018/07/16
适用对象:是SQL Server(仅限 Linux)否Azure SQL 数据库 否Azure SQL 数据仓库 否并行数据仓库
在此快速入门中,您安装 SQL Server 2017 或 SQL Server 2019 Red Hat Enterprise Linux (RHEL) 上。 然后使用连接sqlcmd创建第一个数据库和运行查询。
提示
本教程需要用户输入和 Internet 连接。 如果您对无人参与或脱机安装感兴趣,请参阅 Linux 上的 SQL Server 的安装指南。
系统必备
您必须具有的 RHEL 7.3、 7.4、 7.5 或 7.6 计算机至少 2 GB的内存。
若要在自己的计算机上安装 Red Hat Enterprise Linux,请访问 https://access.redhat.com/products/red-hat-enterprise-linux/evaluation 。 也可在 Azure 中创建 RHEL 虚拟机。 请参阅使用 Azure CLI 创建和管理 Linux VM,并在对 az vm create 的调用中使用 --image RHEL。
如果以前已安装的 CTP 或 SQL Server 2017 的 RC 版本,必须执行以下步骤之前先删除旧存储库。 有关详细信息,请参阅配置 Linux 存储库以用于 SQL Server 2017 和 2019年。
其他系统要求,请参阅Linux 上的 SQL Server 的系统要求。
安装 SQL Server
若要在 RHEL 上配置 SQL Server,请在终端中运行以下命令,以便安装mssql server包:
下载 Microsoft SQL Server 2017 Red Hat 存储库配置文件:
bash
复制
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo
提示
如果你想要试用 SQL Server 2019,则必须改为注册预览版 (2019) 存储库。 对于 SQL Server 2019 安装中使用以下命令:
bash
复制
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-preview.repo
运行以下命令,安装 SQL Server:
bash
复制
sudo yum install -y mssql-server
程序包安装完成后,请运行 mssql-conf setup 命令并按提示设置 SA 密码,然后选择版本。
bash
复制
sudo /opt/mssql/bin/mssql-conf setup
提示
以下 SQL Server 2017 版本自由地授予使用许可:评估、 开发人员版和 Express。
备注
请确保为 SA 帐户指定强密码(最少 8 个字符,包括大写和小写字母、十进制数字和/或非字母数字符号)。
配置完成后,请验证服务是否正在运行:
bash
复制
systemctl status mssql-server
若要允许远程连接,请在 RHEL 上打开防火墙上的 SQL Server 端口。 默认的 SQL Server 端口为 TCP 1433。 如果对防火墙使用 FirewallD,可以使用以下命令:
bash
复制
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
sudo firewall-cmd --reload
SQL Server 目前正在 RHEL 计算机上运行,可以使用了!
安装 SQL Server 命令行工具
若要创建数据库,需要使用一个能够在 SQL Server 上运行 Transact-SQL 语句的工具进行连接。 以下步骤安装 SQL Server 命令行工具: sqlcmd和bcp。
下载 Microsoft Red Hat 存储库配置文件。
bash
复制
sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo
如果你有旧版mssql 工具安装,请删除任何较旧的 unixODBC 包。
bash
复制
sudo yum remove unixODBC-utf16 unixODBC-utf16-devel
运行以下命令以安装 mssql-tools 和 unixODBC 开发人员包。
bash
复制
sudo yum install -y mssql-tools unixODBC-devel
为方便起见,请将 /opt/mssql-tools/bin/ 添加到 PATH 环境变量。 这样就可以在运行工具时不指定完整路径。 请运行以下命令,以便修改登录会话和交互/非登录会话的 PATH:
bash
复制
echo ‘export PATH=“
P
A
T
H
:
/
o
p
t
/
m
s
s
q
l
−
t
o
o
l
s
/
b
i
n
"
′
>
>
/
.
b
a
s
h
p
r
o
f
i
l
e
e
c
h
o
′
e
x
p
o
r
t
P
A
T
H
=
"
PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile echo 'export PATH="
PATH:/opt/mssql−tools/bin"′>> /.bashprofileecho′exportPATH="PATH:/opt/mssql-tools/bin”’ >> ~/.bashrc
source ~/.bashrc
本地连接
以下步骤使用 sqlcmd 本地连接到新的 SQL Server 实例。
使用 SQL Server 名称 (-S),用户名 (-U) 和密码 (-P) 的参数运行 sqlcmd 。 在本教程中,用户进行本地连接,因此服务器名称为 localhost。 用户名为 SA,密码是在安装过程中为 SA 帐户提供的密码。
bash
复制
sqlcmd -S localhost -U SA -P ‘’
提示
可以在命令行上省略密码,以收到密码输入提示。
提示
如果以后决定进行远程连接,请指定 -S 参数的计算机名称或 IP 地址,并确保防火墙上的端口 1433 已打开。
如果成功,应会显示 sqlcmd 命令提示符:1>。
如果连接失败,请首先尝试根据错误消息诊断问题。 然后查看连接故障排除建议。
创建和查询数据
下面各部分将逐步介绍如何使用 sqlcmd 新建数据库、添加数据并运行简单查询。
新建数据库
以下步骤创建一个名为 TestDB 的新数据库。
在 sqlcmd 命令提示符中,粘贴以下 Transact-SQL 命令以创建测试数据库:
SQL
复制
CREATE DATABASE TestDB
在下一行中,编写一个查询以返回服务器上所有数据库的名称:
SQL
复制
SELECT Name from sys.Databases
前两个命令没有立即执行。 必须在新行中键入 GO 才能执行以前的命令:
SQL
复制
GO
提示
若要了解有关编写 TRANSACT-SQL 语句和查询的详细信息,请参阅教程:编写 Transact-SQL 语句。
插入数据
接下来创建一个新表 Inventory,然后插入两个新行。
在 sqlcmd 命令提示符中,将上下文切换到新的 TestDB 数据库:
SQL
复制
USE TestDB
创建名为 Inventory 的新表:
SQL
复制
CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)
将数据插入新表:
SQL
复制
INSERT INTO Inventory VALUES (1, ‘banana’, 150); INSERT INTO Inventory VALUES (2, ‘orange’, 154);
要执行上述命令的类型 GO:
SQL
复制
GO
选择数据
现在,运行查询以从 Inventory 表返回数据。
通过 sqlcmd 命令提示符输入查询,以返回 Inventory 表中数量大于 152 的行:
SQL
复制
SELECT * FROM Inventory WHERE quantity > 152;
执行命令:
SQL
复制
GO
退出 sqlcmd 命令提示符
要结束 sqlcmd 会话,请键入 QUIT:
SQL
复制
QUIT
性能最佳实践
在 Linux 上安装 SQL Server 后, 查看配置 Linux 和 SQL Server 来提高生产方案的性能的最佳做法。 有关详细信息,请参阅的性能最佳实践和 Linux 上的 SQL Server 配置准则。
跨平台数据工具
除了sqlcmd,可以使用以下跨平台工具来管理 SQL Server:
Azure Data Studio 跨平台 GUI 数据库管理实用程序。
Visual Studio Code 运行 TRANSACT-SQL 语句,mssql 扩展通过一个跨平台 GUI 代码编辑器。
PowerShell Core 基于 cmdlet 一个跨平台自动化和配置工具。
mssql-cli 用于运行 TRANSACT-SQL 命令的跨平台命令行界面。
从 Windows 连接
Windows 上的 SQL Server 工具连接到 Linux 上的 SQL Server 实例,操作方式与连接到任何远程 SQL Server 实例一样。
如果有一台可以连接到 Linux 计算机的 Windows 计算机,请从运行 sqlcmd 的 Windows 命令提示符尝试执行本主题中的相同步骤。 仅验证所使用的是目标 Linux 计算机名称或 IP 地址,而非 localhost,并确保 TCP 端口 1433 已打开。 如果从 Windows 进行连接存在任何问题,请参阅连接故障排除建议。
有关在 Windows 上运行,但连接到 Linux 上的 SQL Server 的其他工具,请参阅:
SQL Server Management Studio (SSMS)
Windows PowerShell
SQL Server Data Tools (SSDT)
其他部署方案
有关其他安装方案,请参阅以下资源:
升级 了解如何升级 Linux 版 SQL Server 的现有安装
卸载 在 Linux 上卸载 SQL Server
无人参与安装 了解如何编写无提示安装脚本
脱机安装 了解如何手动下载脱机安装程序包
提示
有关常见问题的解答,请参阅SQL Server Linux 常见问题。
后续步骤
反馈
发送有关以下对象的反馈
本文档当前无任何反馈。 页面反馈将显示在此处。