资讯专栏INFORMATION COLUMN

在Docker上安装MSSQL(SQL Server)

LeoHsiun / 3014人阅读

摘要:在转移到阵营之后,如果想在本机上安装微软的数据库有三种方式第一种是在本机上安装版本。微软也提供了相应的帮助文档镜像是微软官方的,但奇怪的是并没有把其标示为。

在转移到Mac OS X 阵营之后,如果想在本机上安装微软的mssql-server数据库有三种方式:

第一种是在本机上安装MSSQL for Linux 版本。

第二种是安装Windows虚拟机,然后在虚拟机里面使用ISO文件进行安装。

第三种也就是我要讲的方式,就是使用Docker进行安装。


第一种方式和第二种方式缺点就是要自己找安装包,第三种方式直接通过Docker的命令docker search mssql就能搜索出来,然后拉取创建容器即可。

微软也提供了相应的帮助文档

镜像是微软官方的,但docker hub 奇怪的是并没有把其标示为OFFICIAL。

1.下载镜像
docker pull microsoft/mssql-server-linux

使用该命令就可以把数据库的docker镜像下载下来。

2.创建并运行容器
docker run --name MSSQL_1433 -m 512m -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=yourStrong(!)Password" -p 1433:1433 -d microsoft/mssql-server-linux

这个密码需要复杂密码,要有大小写和特殊符号,替换yourStrong(!)Password成你自己的密码就行。如果只Linux服务器,可以不用端口映射,直接使用宿主模式

docker run --name MSSQL_1433 -m 512m -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=yourStrong(!)Password" --net=host -d microsoft/mssql-server-linux
3.登入容器
docker exec -it MSSQL_1433 /bin/bash
4.连接到sqlcmd
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "yourStrong(!)Password"
5.执行SQL语句创建数据库
CREATE DATABASE testDB
go

如果只想创建数据库,已经可以完成了,用Navicat Premium就可以连接到数据库了。

6.还原数据库

在容器内先创建一个文件夹

mkdir /var/opt/mssql/backup

在宿主把.bak备份文件复制到容器

sudo docker cp /Users/front/Downloads/beifen.bak MSSQL_1433:/var/opt/mssql/backup

运行sqlcmd到逻辑文件名称和备份内的路径的列表容器内

sudo docker exec -it MSSQL_1433 /opt/mssql-tools/bin/sqlcmd -S localhost  -U SA -P "yourStrong(!)Password"  -Q "RESTORE FILELISTONLY FROM DISK =  "/var/opt/mssql/backup/beifen.bak""  | tr -s " " | cut -d " " -f 1-2

运行结果

LogicalName PhysicalName
----------------------------------
beifen D:Program
beifen_log D:Program

还原数据库

sudo docker exec -it MSSQL_1433 /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "yourStrong(!)Password" -Q "RESTORE DATABASE 数据库名 FROM DISK = "/var/opt/mssql/backup/beifen.bak" WITH MOVE "beifen" TO "/var/opt/mssql/data/beifen.mdf", MOVE "beifen_Log" TO "/var/opt/mssql/data/beifen.ldf""

Done

本文参考微软帮助文档
使用 Docker 运行 SQL Server 2017 容器映像Run the SQL Server 2017 container image with Docker
还原 Linux Docker 容器中的 SQL Server 数据库Restore a SQL Server database in a Linux Docker container

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/27242.html

相关文章

  • Docker安装MSSQL(SQL Server)

    摘要:在转移到阵营之后,如果想在本机上安装微软的数据库有三种方式第一种是在本机上安装版本。微软也提供了相应的帮助文档镜像是微软官方的,但奇怪的是并没有把其标示为。 在转移到Mac OS X 阵营之后,如果想在本机上安装微软的mssql-server数据库有三种方式: 第一种是在本机上安装MSSQL for Linux 版本。 第二种是安装Windows虚拟机,然后在虚拟机里面使用ISO文件...

    CoXie 评论0 收藏0
  • Docker安装MSSQL(SQL Server)

    摘要:在转移到阵营之后,如果想在本机上安装微软的数据库有三种方式第一种是在本机上安装版本。微软也提供了相应的帮助文档镜像是微软官方的,但奇怪的是并没有把其标示为。 在转移到Mac OS X 阵营之后,如果想在本机上安装微软的mssql-server数据库有三种方式: 第一种是在本机上安装MSSQL for Linux 版本。 第二种是安装Windows虚拟机,然后在虚拟机里面使用ISO文件...

    Honwhy 评论0 收藏0
  • MacOS下使用Docker部署Microsoft SQL Server 2017

    摘要:在下使用部署微软今年发布了,支持了,并且配合,使得在上运行不再须要。安装下载安装文件,并安装。 在MacOS下使用Docker部署Microsoft SQL Server 2017 微软今年发布了SQL Server 2017,支持了Linux,并且配合docker,使得在Mac上运行SQL Sqlver不再须要VM。 安装Docker下载Docker安装文件,并安装。 设置Do...

    twohappy 评论0 收藏0
  • 各种数据库命令行工具 mycli litecli mssql-cli pgcli

    摘要:如果你平常在命令行操作数据库,强烈推荐你使用下面的几个命令行工具了。是基于的命令行工具,直接使用安装具体介绍见语法高亮和自动补全进入命令行后如果想执行命令怎么办,先退出执行然后再登录麻烦,其实可以直接用。 如果你平常在命令行操作数据库,强烈推荐你使用下面的几个命令行工具了。 mycli mycli 是基于MySQL的命令行工具,直接使用 pip install mycli 安装, 具体...

    lk20150415 评论0 收藏0
  • 各种数据库命令行工具 mycli litecli mssql-cli pgcli

    摘要:如果你平常在命令行操作数据库,强烈推荐你使用下面的几个命令行工具了。是基于的命令行工具,直接使用安装具体介绍见语法高亮和自动补全进入命令行后如果想执行命令怎么办,先退出执行然后再登录麻烦,其实可以直接用。 如果你平常在命令行操作数据库,强烈推荐你使用下面的几个命令行工具了。 mycli mycli 是基于MySQL的命令行工具,直接使用 pip install mycli 安装, 具体...

    AlphaGooo 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<