MSSQL MAC/DOCKER新手上路归纳整理

本文记录了在MAC系统中通过Docker安装和配置Microsoft SQL Server的过程,包括遇到的问题及解决方法。重点在于强调设置强密码的重要性以及如何挂载数据卷以持久化数据库。此外,还介绍了如何使用Docker命令将本地数据库文件导入到Docker内的SQL Server,并提供了使用Azure Data Studio进行可视化连接的提示。

重新归纳整理一下踩过的坑,安装这个主要是不想安装WINDOWS版的服务器客户端,实在太重型了。

某次机缘巧合,发行DOCKER有MSSQL的官方镜像,当时一时兴起查资料安装一套完成,兴奋不已,可是好久不用,又重装了系统,发现完全跑不起来,当初的笔记似乎还是一个半成品(好好坑了自己很久,一直认为是不是MAC新OS的权限问题导致docker文件权限有问题了),今天再次尝试终于又成功了,立马重新归纳梳理一下。

首先,DOCKER PULL补丁就不多废话,没有什么悬念,当前2017、2019两个镜像都可以,但是!我遇到的坑就是安装官方的命令跑起来了几秒之后就挂了,在此严重提醒,密码要STRONG 要STRONG 要STRONG 

官方的命令:

sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=<YourStrong@Passw0rd>" \
   -p 1433:1433 --name sql1 -h sql1 \
   -d \
   mcr.microsoft.com/mssql/server:2017-latest

注意红色部分,一定要大小写,字母数字,标点符号

经过这波洗礼后,一切顺畅了。

不过这样只是一个玩具,所以我们需要创建映射盘挂载我们的数据库

docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=<YourStrong@Passw0rd>' -p 1433:1433 -d --name sql1 -v sqlvolume:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2017-latest

多了一些参数,很重要,创建完成后,可以使用DOCKER VOLUME LS 确认是否创建成功

接下去是拷贝文件至DOCKER中,此处用到DOCKER CP 命令

docker cp /Users/111/downloads/test.LDF sql1:/var/opt/mssql/data/test.LDF

同样的,再拷贝mdf文件过去,准备工作至此完成,可以开启挂载之路了

顺序执行以下:

docker exec -it sql1 "bash" 

/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P <YourStrong@Passw0rd>

EXEC sp_attach_db @dbname='test',@filename1='/var/opt/mssql/data/test.mdf',@filename2='/var/opt/mssql/data/test.ldf'

go

至此,TEST库恢复完成,MAC 下可以下载AZURE DATA STUDIO进行可视化连接及编辑

总的来说,还算是非常轻盈的。

本文参考以下文章:

五、Docker+Sqlserver - BBJB - 博客园icon-default.png?t=L892https://www.cnblogs.com/ggwow/p/9325066.htmldocker中的sql server 导入数据库文件mdf - sleep_loke - 博客园在上一篇文章中我们已经成功在docker中跑起来了一个sql server。 现在问题来了,我有一个mdf文件,我应该如何导入到sql server? 在window平台似乎有对应的工具,但是dockhttps://www.cnblogs.com/sleeploke/p/10762564.htmlDocker:为 Linux 上的 SQL Server 安装容器 - SQL Server | Microsoft Docsicon-default.png?t=L892https://docs.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-docker?view=sql-server-2017&pivots=cs1-bash

实验一 熟悉 SQL Server 2012 开发环境 三、实验内容及记录 1、启动 SQL Server 2012 数据库服务,记录运行情况和处理方法。 2、用界面工具创建自己的数据库(名称自定),试着用界面工具在该数据库 中创建几个表,打开其中某个表,进行插删改操作,记录运行情况和处理方法 实验二 SQL 的数据定义(表和索引) 1.复习 SQL 语言中数据定义的相关命令。 2.根据实验样例数据库的要求预先写好相应的命令(完整性约束可不定义, 留待实验三完成)。 (1)使用命令完成附录中实验样例数据库四张表的数据定义:学生表 Student、课程表 Course、班级表 Class、成绩表 Cj。四张表结构详见附录一。 实验三 SQL 的完整性约束定义 1.复习教材第五章完整性约束定义的相关内容。 2.根据下面要求完成实验样例数据库中提到的完整性约束定义。 实验四 SQL 的数据更 1.复习 SQL 语言中插入、修改、删除的相关命令。 2.使用教师已经录入的相关数据的“xsglsjk”数据库,并另外准备好一些 待插入、修改、删除的数据,预先写好相应的命令。 (1)使用 insert 命令向 Student 表中插入一条的学生纪录(2000105, 刘辉,男,20,00311)。 实验五 SQL 的数据查询(4 学时) 实验六 SQL 的数据定义(视图) 实验七 SQL 的数据控制和实现 实验八 SQL 的服务器端编程(4 学时) 实验九 游标的使用(2 学时) 实验十 SQL 的综合大作业
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值