在 Linux 服务器上安装运行 SQLserver2017,并导入 bak 格式备份。
CentOS 安装 docker
使用官方脚本自动安装
1
| curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
|
启动服务
docker 安装 SQLserver2017
从 Microsoft 容器注册表中请求 SQL Server 2017 (14.x) Linux 容器映像。
1
| docker pull mcr.microsoft.com/mssql/server:2017-latest
|
查看镜像
运行容器
1
2
3
4
5
6
7
| # 示例
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<YourStrong@Passw0rd>" `
-p 1433:1433 --name sql1 --hostname sql1 `
-d `
mcr.microsoft.com/mssql/server:2017-latest
# 密码应符合 SQL Server 默认密码策略,否则容器无法设置 SQL Server,将停止工作。 默认情况下,密码必须为至少八个字符且包含以下四种字符中的三种:大写字母、小写字母、十进制数字、符号。
|
可以不使用后台运行,使用screen,只在用的时候打开它。
1
2
3
4
| screen -S mssql
vim mssql.sh
|
编写脚本
1
2
3
| #!/bin/bash
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<密码>" -p <端口号>:1433 --name sql1 --hostname sql1 mcr.microsoft.com/mssql/server:2017-latest
# 密码必须为至少八个字符且包含以下四种字符中的三种:大写字母、小写字母、十进制数字、符号。
|
给予执行权限
1
2
3
4
5
| chmod +x mssql.sh
./mssql.sh
ctrl + a, ctrl + d
|
关闭 SQLserver
1
2
3
4
5
| screen -r mssql
ctrl + c, ctrl + a, ctrl + d
或者直接 ctrl + c, ctrl + d
|
连接到 SQLserver
1
2
3
4
5
| docker exec -it sql1 "bash"
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "<密码>"
# 或者
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA
|
创建数据库
1
2
3
| CREATE DATABASE TestDB;
SELECT Name from sys.databases;
GO
|
还原 bak
服务器
参考资料