安装指南
Step1:拉取并运行 SQL Server Linux 容器映像
1.从 Microsoft 容器注册表中提取 SQL Server 2019 Linux 容器镜像。
docker pull mcr.microsoft.com/mssql/server:2019-latest
2.创建目录
当Docker容器删除后,容器里面的数据会随之被清空,所以我们需要通过挂载宿主机磁盘目录,来永久存储数据。执行以下指令创建存储数据库文件的目录。
mkdir /etc/sqlserver_data
3.修改目录权限
由于容器没有权限访问外部目录,所以我们需要修改目录权限
chmod 777 /etc/sqlserver_data
4.使用 Docker 运行 Linux 容器镜像,由于我们使用的是Express版本,所以在命令行上需要添加命令参数: -e “MSSQL_PID=Express”
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=SA@12345" -e "MSSQL_PID=Express" -p 1433:1433 --name sql-server2019 --hostname sql-server2019 -v /etc/sqlserver_data:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2019-latest
说明:
-e "ACCEPT_EULA=Y" 将 ACCEPT_EULA 变量设置为任意值,以确认接受 最终用户许可协议。 SQL Server 映像的必需设置。
-e "SA_PASSWORD=<YourStrong@Passw0rd>"指定至少包含 8 个字符且符合 SQL Server 密码要求的强密码。 SQL Server 映像的必需设置。 默认情况下,密码的长度必须至少为 8 个字符,并且必须包含以下四种字符中的三种:大写字母、小写字母、十进制数字和符号
"MSSQL_PID=<your_product_id | edition_name> (default: Developer)" 这里可以设置版本类型或者产品激活码,如果不填写,默认是开发版
-p 1433:1433将主机环境中的 TCP 端口(第一个值)映射到容器中的 TCP 端口(第二个值)
-v /etc/sqlserver_data:/var/opt/mssql:表示/etc/sqlserver_data目录挂载到容器的/var/opt/mssql目录,这个目录是用来存储数据库文件的,所以最好挂载到容器外部,避免因为不小心删除容器而丢失数据。
--name sql-server2019 为容器指定自定义名称,而不是随机生成的名称。如果运行多个容器,则不能重复使用此相同名称。
--hostname sql-server2019 用于显式设置容器主机名。如果未指定主机名,则默认为容器 ID,即随机生成的系统 GUID。
-d 在后台运行容器(守护程序)。
mcr.microsoft.com/mssql/server:2019-latest SQL Server 2019 Linux 容器映像。
5.要查看您的 Docker 容器,请使用命令
sudo docker ps -a
应会看到类似于以下内容的输出:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d4a1999ef83e mcr.microsoft.com/mssql/server:2019-latest "/opt/mssql/bin/perm..." 2 minutes ago Up 2 minutes 0.0.0.0:1433->1433/tcp, :::1433->1433/tcp sql-server2019
6.如果要修改sa密码,请执行以下指令
docker exec -it sql-server2019 /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "旧密码" -Q 'ALTER LOGIN SA WITH PASSWORD="新密码"'```
Step2:使用命令行连接到SQL Server数据库服务器
1.执行以下命令,开启一个新的bash会话。(名称由创建容器时的参数指定)
docker exec -it sql-server2019 "bash"
#说明
sql-server2019 为刚刚创建的容器名称
2.进入容器后使用其完整路径与sqlcmd进行本地连接
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "SA@12345"
Step3:通过命令行方式进行数据库管理
验证安装的SQL Server的版本是否为Express
1.在sqlcmd命令行中输入以下指令
Select @@version
2.键入一个新行执行前面的命令
GO
3.此查询的输出示例如下
Microsoft SQL Server 2019 (RTM-CU18) (KB5017593) - 15.0.4261.1 (X64)
Sep 12 2022 15:07:06
Copyright (C) 2019 Microsoft Corporation
Express Edition (64-bit) on Linux (Ubuntu 20.04.5 LTS) <X64>
由此可见,我们正确的安装了SQL Server 2019 Express
创建新数据库
以下步骤创建一个名为 TestDB
1.在sqlcmd命令提示符下,粘贴以下 Transact-SQL 命令以创建测试数据库:
CREATE DATABASE TestDB;
2.在下一行中,编写一个查询以返回服务器上所有数据库的名称:
SELECT Name from sys.databases;
3.前两个命令未立即执行。您必须键入一个新行才能执行前面的命令:
GO
插入数据
接下来创建一个新的数据表,并插入两行新的数据
1.在sqlcmd命令提示符中,切换到刚刚创建的新数据库TestDB:
USE TestDB;
2.创建一个名字为dbo.Inventory的新数据表
CREATE TABLE dbo.Inventory (
id INT, name NVARCHAR(50),
quantity INT
);
3.将数据插入新表中:
INSERT INTO dbo.Inventory VALUES (1, 'banana', 150);
INSERT INTO dbo.Inventory VALUES (2, 'orange', 154);
4.执行前面的命令:
GO
选择数据
1.查询dbo.Inventory表中的所有数据
SELECT * FROM dbo.Inventory;
2.执行前面的命令
GO
退出 sqlcmd 命令提示符
若要结束sqlcmd会话,请键入:QUIT文章来源:https://www.toymoban.com/news/detail-667003.html
QUIT
Setp4:通过远程方式使用SSMS客户端连接到SQL Server进行可视化数据库服务器管理
Windows 上的 SQL Server 工具连接到 Linux 上的 SQL Server 实例的方式与连接到任何远程 SQL Server 实例的方式相同。
以SSMS客户端为例,连接到Docker中的SQL Server
连接成功后的页面
文章来源地址https://www.toymoban.com/news/detail-667003.html
到了这里,关于在Docker上安装部署SQL Server2019 Express的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!