本页内容

  • 准备工作
  • 添加 Microsoft SQL 软件仓库
  • 安装 Microsoft SQL Server
  • 配置 UFW 防火墙
  • 为客户端安装 Microsoft SQL 工具
  • 通过 sqlcmd 连接 MS SQL Server
  • 在 MS SQL Server 中创建数据库和用户
  • 在 Microsoft SQL Server 中插入和查询数据
  • 总结

MSSQL Server(即 Microsoft SQL Server)是由微软开发的关系型数据库管理系统(RDBMS,Relational Database Management System)。作为数据库服务器,它用于存储应用程序的数据。SQL Server 适用于多种应用场景,你可以将 MS SQL Server 用作桌面应用程序的数据库,也可以用于 Web 应用程序或任何小型服务器应用程序。

在本指南中,我们将演示如何在 Debian 12 服务器上安装 Microsoft SQL Server 2022 版本。你还将学习如何安装用于操作 MS SQL Server 的 MS SQL 工具,并了解一些 MS SQL Server 的基础查询语句。

准备工作

完成本指南前,请确保你已具备以下条件:

  • 一台 Debian 12 服务器。
  • 一个具有 sudo 权限的非 root 用户。

添加 Microsoft SQL 软件仓库

在本指南中,我们将使用 MS SQL Server 来指代 Microsoft SQL Server。

在安装 MS SQL Server 之前,你必须将 MS SQL Server 的软件仓库添加到你的 Debian 机器。在本示例中,你将把 MS SQL Server 2022 的仓库添加到 Debian 12 服务器。

首先,使用以下命令更新 Debian 软件仓库并升级所有软件包。

sudo apt update && sudo apt upgrade

现在使用以下命令安装软件包依赖。输入 y 确认安装。

sudo apt install gnupg2 apt-transport-https wget curl

在 Debian 12 上安装 Microsoft SQL Server

软件包依赖安装完成后,运行以下命令添加 MS SQL Server 仓库的 GPG 密钥。

wget -q -O- https://packages.microsoft.com/keys/microsoft.asc | \
gpg --dearmor | sudo tee /usr/share/keyrings/microsoft.gpg > /dev/null 2>&1

接着,使用以下命令添加 MS SQL Server 仓库。在本指南中,你将安装的是 MS SQL Server 2022。

echo "deb [signed-by=/usr/share/keyrings/microsoft.gpg arch=amd64,armhf,arm64] https://packages.microsoft.com/ubuntu/22.04/mssql-server-2022 jammy main" | \
sudo tee /etc/apt/sources.list.d/mssql-server-2022.list

在 Debian 12 上安装 Microsoft SQL Server

添加完 MS SQL Server 的 GPG 密钥和仓库后,使用以下命令刷新你的 Debian 仓库并获取 MS SQL Server 的软件包信息。

sudo apt update

在 Debian 12 上安装 Microsoft SQL Server

安装 Microsoft SQL Server

既然已将 MS SQL Server 仓库添加到 Debian 系统,接下来我们通过 APT 包管理器进行安装。在本例中,你将把 MS SQL Server 2022 安装到 Debian 服务器上。

使用以下 apt 命令安装 MS SQL Server 2022。当提示确认时,输入 y 并按 ENTER 确认。

sudo apt install mssql-server

在 Debian 12 上安装 Microsoft SQL Server

此过程结束时,你将看到用于完成 MS SQL Server 安装的提示信息。

在 Debian 12 上安装 Microsoft SQL Server

运行以下命令完成 MS SQL Server 的安装。

sudo /opt/mssql/bin/mssql-conf setup

现在系统会向你提出以下问题:

  • 选择 MS SQL Server 版本?输入 3 选择 SQL Server Express 版。
  • 当询问是否接受许可条款时?输入 Yes 确认。
  • 现在输入你的 MS SQL Server 管理员密码并重复确认。

至此,MS SQL Server 的配置应已完成,它应该已在你的 Debian 服务器上运行。

在 Debian 12 上安装 Microsoft SQL Server

使用以下命令检查 MS SQL Server 服务状态,确保 MS SQL Server 已在你的系统上运行并已启用。

sudo systemctl is-enabled mssql-server
sudo systemctl status mssql-server

在 Debian 12 上安装 Microsoft SQL Server

配置 UFW 防火墙

在 MS SQL Server 运行之后,下一步是配置 UFW 并为 MS SQL Server 开放 1433/tcp 端口。请务必连接到

使用以下命令在你的 Debian 机器上安装 UFW(Uncomplicated Firewall,简易防火墙)。当提示时输入 y 确认。

sudo apt install ufw

UFW 安装完成后,运行以下 ufw 命令以添加 OpenSSH 配置文件和 1433/tcp 端口。请务必将网络子网替换为你的本地网络 IP 地址。

OpenSSH 配置文件将允许到 SSH 22 端口的流量,而 1433/tcp 端口用于 MS SQL Server 的通信。

sudo ufw allow OpenSSH
sudo ufw allow 1433/tcp
or
sudo ufw allow from 192.168.1.0/24 to any port 
1433

现在使用以下命令启动并启用 UFW。当提示时,输入 y 确认并启动 UFW。

sudo ufw enable

如果 UFW 正在运行,你将看到 ' Firewall is active and enabled on system startup '(防火墙已激活并在系统启动时启用)的输出。

现在你可以使用以下命令查看 UFW 上已开放的端口和已启用的配置文件列表。

sudo ufw status

请确保 OpenSSH 配置文件和 1433/tcp 端口已添加到 UFW。

在 Debian 12 上安装 Microsoft SQL Server

为客户端安装 Microsoft SQL 工具

在本节中,你将学习如何在客户端机器上安装 MS SQL 工具。这里涵盖了如何在基于 Debian 的 Linux 发行版以及基于 RedHat 的发行版上安装 MS SQL 工具。

使用以下命令在你的 Debian/Ubuntu 客户端上添加 MS SQL 工具仓库并刷新软件包索引。

对于 Debian/Ubuntu 客户端机器:

echo "deb [signed-by=/usr/share/keyrings/microsoft.gpg arch=amd64,armhf,arm64] https://packages.microsoft.com/ubuntu/22.04/prod jammy main" | \
sudo tee /etc/apt/sources.list.d/prod.list
sudo apt update

在 Debian 12 上安装 Microsoft SQL Server

对于基于 RedHat 发行版的客户端机器:

sudo curl -o /etc/yum.repos.d/mssql-prod.repo https://packages.microsoft.com/config/rhel/9.0/prod.repo
sudo dnf repolist

仓库添加完成后,运行以下命令在客户端机器上安装 MS SQL 工具。

适用于 Debian/Ubuntu 发行版的 MS SQL 工具:

sudo apt install mssql-tools unixodbc-dev

在 Debian 12 上安装 Microsoft SQL Server

适用于基于 RHEL 发行版的 MS SQL 工具:

sudo dnf install mssql-tools unixODBC-devel

当询问 MS SQL 工具软件包的许可条款时,输入 YES。

在 Debian 12 上安装 Microsoft SQL Server

在 Debian 12 上安装 Microsoft SQL Server

安装完成后,MS SQL 工具应已安装到 /opt/mssql-tools/bin 目录。你可以查看 /opt/mssql-tools/bin 目录,会看到两个二进制文件:sqlcmd 作为 MS SQL 客户端,以及 bcp 用于向 SQL Server 导入数据。

ls -ah /opt/mssql-tools/bin

接下来,使用以下命令将 /opt/mssql-tools/bin 目录添加到系统 PATH 中。

echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> /etc/environment

现在使用以下命令加载 /etc/environment 文件并验证 PATH,确保 /opt/mssql-tools/bin 目录已添加到系统 PATH 中。

source /etc/environment
echo $PATH

在 Debian 12 上安装 Microsoft SQL Server

最后,运行以下命令定位 sqlcmd 和 bcp 这两个二进制文件。

which sqlcmd
which bcp

现在你可以像下面这样执行 ' sqlcmd ' 和 ' bcp ' 命令:

sqlcmd -?
bcp -?

通过 sqlcmd 连接 MS SQL Server

既然已在客户端机器上安装了 MS SQL 工具,下一步就是连接到你的 MS SQL Server。

要连接到你的 MS SQL Server,运行以下 sqlcmd 命令。当提示时输入你的管理员密码。

sqlcmd -S localhost -U SA -p

连接成功后,运行以下查询以验证你的 MS SQL Server 版本。

select @@version
go

你将看到已安装的 MS SQL Server 2022 版本信息。

在 Debian 12 上安装 Microsoft SQL Server

现在使用以下查询查看 MS SQL Server 上的数据库列表。

select name from sys.databases;
go

你将看到 MS SQL Server 上默认的数据库:master、tempdb、model 和 msdb。

在 Debian 12 上安装 Microsoft SQL Server

在 MS SQL Server 中创建数据库和用户

连接到 MS SQL Server 后,你现在可以在其上创建新的用户和数据库。

要在 MS SQL Server 上创建新的登录名(login)和用户,执行以下查询。在本示例中,你将创建一个名为 Alex 的新登录名,密码为 ' Myp@ssw0rd0987==+ '。

CREATE LOGIN Alex WITH PASSWORD='Myp@ssw0rd0987==+';
GO

之后,使用以下查询创建一个新数据库 ' AppDB ' 并切换到该数据库。

CREATE DATABASE AppDB;
GO
USE AppDB;
GO

在 Debian 12 上安装 Microsoft SQL Server

现在运行以下查询以创建新表 users(用户表)。

CREATE TABLE users (
id INT PRIMARY KEY IDENTITY (1, 1),
first_name VARCHAR (50) NOT NULL,
last_name varchar(50) NOT NULL,
email varchar(50),
last_login DATE NOT NULL
);
GO

在 Debian 12 上安装 Microsoft SQL Server

然后使用以下查询为登录名 ' Alex ' 创建一个新用户 ' Alex '。

CREATE USER Alex FOR LOGIN Alex;
GO

用户创建完成后,运行以下查询将 users 表的权限授予用户 Alex。

GRANT SELECT, INSERT, UPDATE, DELETE ON users TO Alex;
GO

输入 quit 退出。

在 Microsoft SQL Server 中插入和查询数据

新数据库和用户创建完成后,下一步是使用你的用户连接到 MS SQL Server(具体连接到你的数据库)来验证数据库。

现在运行以下 ' sqlcmd ' 命令,使用你的登录用户连接到数据库。当提示时输入你的密码。

sqlcmd -S localhost -U Alex -d AppDB -p

登录后,运行以下查询向 'users' 表插入新数据。

INSERT INTO users (first_name, last_name, email, last_login) VALUES ('Alex', 'Seed', '
[email protected]
', '20221201');
GO

在 Debian 12 上安装 Microsoft SQL Server

现在你可以运行以下 SELECT 查询,从 MS SQL Server 中检索数据。

SELECT * FROM users;
GO

在 Debian 12 上安装 Microsoft SQL Server

现在你可以输入 quit 退出。

总结

恭喜!你已成功在 Debian 12 服务器上完成 Microsoft SQL Server 2022 的安装。你同时还学习了如何在基于 Debian 和基于 RedHat 的发行版上安装 MS SQL 工具,以及如何通过 'sqlcmd' 命令连接到 MS SQL Server。

此外,你还学习了 MS SQL 查询的基本用法,包括创建数据库和用户、创建表,以及在 MS SQL Server 中插入和检索数据。