【Linux】05.部署Microsoft SQL Server

通过Docker容器部署MSSQL

拉取镜像

执行以下命令获取镜像,并创建容器

sudo docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<YourStrong@Passw0rd>" \
   -p 1433:1433 --name 'mssql' --hostname 'mssql' \
   -d \
   mcr.microsoft.com/mssql/server:2022-latest
  • ACCEPT_EULA:是否接收用户协议,必须设置。
  • MSSQL_SA_PASSWORD:设置sa的密码,必须是8位强密码,默认情况下,密码必须为至少八个字符且包含以下四种字符中的三种:大写字母、小写字母、十进制数字、符号。必须设置。
  • hostname: 用于显式设置容器主机名。 如果未指定主机名,则主机名默认为容器 ID,这是随机生成的系统 GUID。

默认情况下,会自动创建SQL Server的开发者版本,若需要创建其他版本的容器,可通过官网获取许可证,添加MSSQL_PID环境变量。

docker run --name 'mssql' \
-e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>' \
-e 'MSSQL_PID=EnterpriseCore' -p 1433:1433 \
-d mcr.microsoft.com/mssql/server:2022-latest

MSSQL_PID的值可以是

  • Evaluation
  • Developer
  • Express
  • Web
  • Standard
  • Enterprise
  • EnterpriseCore
  • 许可证(25位)

环境变量配置

除此之外,还可以设置SQL Server使用的最大内存(MSSQL_MEMORY_LIMIT_MB),默认情况下为物理内存的80%;设置SQL Server侦听的端口号(MSSQL_TCP_PORT),默认下为1433;设置是否启用SQL Server代理(MSSQL_AGENT_ENABLED),默认为false,禁用状态。

详细配置可参考官方文档
https://learn.microsoft.com/zh-cn/sql/linux/sql-server-linux-configure-environment-variables?view=sql-server-ver16

文件挂载

若需要便捷的管理数据库备份和日志信息,还可以将其目录挂载到外部,

sudo docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>' \
   --name 'mssql' -p 1433:1433 \
   ## 挂载数据库数据和日志信息
   -v /mydata/mssql:/var/opt/mssql \
   -d mcr.microsoft.com/mssql/server:2022-latest

mssql-config

mssql-config是Linux安装的配置脚本,可以使用此工具设置以下参数,

详细配置可参考官方文档
https://learn.microsoft.com/zh-cn/sql/linux/sql-server-linux-configure-mssql-conf?view=sql-server-ver16

数据库管理

使用Docker创建的MSSQL依旧可以使用SMSS进行连接管理,当需要对已有数据库进行还原时,可先将数据库拷贝至本机中,再通过脚本还原数据库。
创建一个新的容器,将数据、日志和备份文件挂载到本机中,

cd /mydata
mkdir mssql

# 提升mssql文件夹的权限,否则容器启动会报错
chmod -R 777 /mydata/mssql

# 创建容器
sudo docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>' \
   -e 'MSSQL_AGENT_ENABLED=true' \
   --name 'mssql' -p 1433:1433 \
   -v /mydata/mssql/data:/var/opt/mssql/data \
   -v /mydata/mssql/log:/var/opt/mssql/log \
   -v /mydata/mssql/backup:/var/opt/mssql/backup \
   -d mcr.microsoft.com/mssql/server:2022-latest

将备份数据库拷贝至backup目录下,使用SSMS连接数据库,并执行以下脚本,还原数据库

RESTORE DATABASE [HBStation_Cancel_Main] FROM  
DISK = N'/var/opt/mssql/backup/HBStation_Cancel_Main_20231226_full.bak' WITH  FILE = 1,  
MOVE N'HBStation_Cancel_Main' TO N'/var/opt/mssql/data/HBStation_Cancel_Main.ndf',  
MOVE N'HBStation_Cancel_Main_log' TO N'/var/opt/mssql/data/HBStation_Cancel_Main_log.ldf',  
NOUNLOAD,  
REPLACE,  
STATS = 10
GO

也可通过SSMS界面还原或备份数据库。

下载SQL Server Management Studio (SSMS) 20.0

在CentOS上部署MSSQL

安装步骤可参考官方文档

https://learn.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-red-hat?view=sql-server-ver15&tabs=rhel8

相关推荐

  1. Linux05.部署Microsoft SQL Server

    2024-04-07 05:02:02       18 阅读
  2. <span style='color:red;'>Linux</span>-<span style='color:red;'>05</span>

    Linux-05

    2024-04-07 05:02:02      10 阅读
  3. 05_Linux的文件压缩

    2024-04-07 05:02:02       12 阅读
  4. 05 Linux 内核启动流程

    2024-04-07 05:02:02       11 阅读
  5. <span style='color:red;'>00</span>_<span style='color:red;'>Linux</span>

    00_Linux

    2024-04-07 05:02:02      10 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-07 05:02:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-07 05:02:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-07 05:02:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-07 05:02:02       18 阅读

热门阅读

  1. 我的创作纪念日

    2024-04-07 05:02:02       16 阅读
  2. MySQL里面慢查询优化指南:从定位到优化

    2024-04-07 05:02:02       17 阅读
  3. PostCSS安装以及使用详解

    2024-04-07 05:02:02       22 阅读
  4. HART报文详解

    2024-04-07 05:02:02       16 阅读
  5. Redis的String详细介绍

    2024-04-07 05:02:02       20 阅读
  6. 【算法】排硬币

    2024-04-07 05:02:02       19 阅读
  7. 互联网面经

    2024-04-07 05:02:02       21 阅读
  8. 从石膏像到真人:素描的进步之路

    2024-04-07 05:02:02       25 阅读
  9. 【leetcode】零钱兑换

    2024-04-07 05:02:02       20 阅读
  10. vue3 实现 input 输入框聚焦

    2024-04-07 05:02:02       22 阅读