Mac系统Docker中SQLserver数据库文件恢复记录

news2024/12/25 0:56:31

Mac系统Docker中SQLserver数据库文件恢复记录

Mac想要安装SQLsever,通过docker去拉去镜像是最简单方法。

一、下载Docker

  • Docker 下载安装:

需要‘科学上网’ 才能访问到docker官网。( https://docs.docker.com/desktop/install/mac-install/)。
这里需要安装包的留言我将网盘中的docker安装包分享出来!

根据电脑搭载的芯片架构,选择苹果芯片<font style="color:rgb(199, 37, 78);background-color:rgb(249, 242, 244);">Apple Silicon</font>或因特尔芯片<font style="color:rgb(199, 37, 78);background-color:rgb(249, 242, 244);">Intel chip</font>的安装包下载。

安装过程省略…

  • 配置Docker镜像加速

国内镜像地址:

阿里云 Docker 镜像加速,需在阿里云官方网站注册账号后获取。

腾讯云 Docker 镜像加速

华为云 Docker 镜像加速

清华大学 TUNA 协会 镜像源地址:https://docker.mirrors.tuna.tsinghua.edu.cn

中国科学技术大学 镜像源地址:https://docker.mirrors.ustc.edu.cn

北京理工大学 镜像源地址:https://dockerhub.azk8s.cn

浙江大学 镜像源地址:https://mirrors.zju.edu.cn/dockerhub/

修改 Docker 配置文件:
修改配置文件:

{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "https://registry.docker-cn.com",
    "http://hub-mirror.c.163.com"
  ]
}

  • Docker容器设置:

根据实际需求情况,设置Docker容器的相关配置信息!

  • 验证 Docker :

打开命令行窗口,运行命令docker --version

二、拉取SQLserver镜像

在ARM框架的m1,m2中,在使用镜像拉取SQLsever的时候,以前的 **mcr.microsoft.com/mssql/server:2019-latest **是行不通的,只会拉取到AMD64版本,指定arm64版本拉下来的也还是AMD64。

所以我们改用** mcr.microsoft.com/azure-sql-edge:latest **镜像。

docker pull **mcr.microsoft.com/azure-sql-edge:latest**

拉取下来后的镜像 可以在 images 中查看:

三、生成容器

docker run 命令运行sqlserver镜像,生成容器!

docker run -e "ACCEPT_EULA=1" -e "MSSQL_SA_PASSWORD=**Sxf123456@**" -e "MSSQL_PID=Developer" -e "MSSQL_USER=SA" -p 1433:1433 -d --name=sql mcr.microsoft.com/azure-sql-edge

上面黑体加粗的密码部分换成你自己的:

  • 需要注意密码设置是有规则的

  • 检查Docker进程

在命令行中,使用 docker ps 查看当前 Docker 中运行的进程:

四、Docker中导入数据库文件

4.1 启动交互式 Bash Shell

docker容器运行之后,在命令行界面使用下面命令在容器内部启动交互式 Bash Shell:

docker exec -it [你的容器名称] "bash"

**注意1: **这里也可以不用在命令行窗口进行,可以直接在Docker应用中进行交互:

**注意2: **查看容器是否已经创建数据卷 ,通过docker volume ls命令查看:

docker 中查看 数据卷:

如果没有创建数据卷,则需要创建好数据卷, 使用命令:docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>' -p 1433:1433 -v sqlvolume:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2017-latest

下面的操作,我以交互式 Bash Shell 进行操作!

4.2 向Docker中导入数据文件

在带有数据卷的容器中创建个文件夹把我们的** .MDF和.LDF文件** 复制过去
  1. 中Docker中创建一个文件夹,存放数据库数据文件:

进入Docker容器中后(命令行界面启动交互式Bash Shell),通过命令 mkdir /xx/xx 来创建文件夹:

如过我们没有使用 交互式 Bash Shell 时,在命令行界面 可以使用以下命令实现在Docker中创建文件夹:docker exec -it [sql你的容器名称] mkdir /var/opt/mssql/data

  1. 将.MDF和.LDF文件 复制到Docker中创建好的文件夹中

使用如下命令,将需要复制的文件复制到Docker容器中的对应文件夹中:

docker cp /Users/chiyu/Desktop/xx.LDF [sql(你的容器名称)]:/var/opt/mssql/mtxyBackups/xx.LDF
docker cp /Users/chiyu/Desktop/xx.MDF [sql(你的容器名称)]:/var/opt/mssql/mtxyBackups/xx.MDF

**注意:**需要注意被复制文件的文件权限需要调整!

可以在复制进入docker 之前先将文件的权限进行调整后,在进行复制:**
**(显示简介–> 共享权限 --> everyone 读与写)


也可以将文件复制进入Docker之后,在使用命令将数据文件的权限进行修改:

chmod 666 xx.LDF
chown -R root:root xx.LDF

五、使用Navicat Premium导入文件数据

  1. 通过Navicat Premium 连接Sqlserver,然后创建数据库

(自行下载安装Navicat )

Navicat 连接sqlserver创建数据库时,需要注意排序规则设置为:Chinese_PRC_90_CI_AS**** 。 否则会出现插入中文字符时会出现问号或者乱码的情况!

  1. 双击数据库打开(变绿色),然后点击左上方的新建查询,输入下面代码(dbname无所谓):

Navicat中执行下面命令:

EXEC sp_attach_db @dbname = 'database_name',
@filename1 = '/home/Xk_Log.LDF',
@filename2 = '/home/Xk.MDF'

我这里是 采用另一种方式: 导入数据库的 .bat 文件到Docker中,在通过 Microsoft SQL Server Tools 连接Docker中的 SQLserver ,然后通过.bat文件进行数据库还原操作!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2157454.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

短剧APP分销小视频联盟收益源码带版权激励视频无需自己上传短剧

功能介绍&#xff1a; 带2000多部短剧资源&#xff0c;有版权&#xff0c;无需自己更新短剧&#xff0c; 已对接广告联盟&#xff0c;解锁短剧观看激励视频&#xff0c;对接各大广告平台 带刷小视频功能&#xff0c;插入视频广告&#xff0c;获取广告收益&#xff0c; 带任…

Stable Diffusion绘画 | ControlNet应用-instant-ID控制器:快速生成人物多角度图片

使用 instant-ID 控制器&#xff0c;用户只需要提供一张正脸图片&#xff0c;就可以快速地给人物生成多角度图片的&#xff0c;从而很好的保持了人物的一致性。 对于要制作小说推文、创建人物故事情节的创作&#xff0c;是一个非常好用且高效的功能。 准备工作 使用该控制类型&…

什么是端到端(end to end)大模型,它和传统的大模型有什么区别?其优势与劣势是什么?

“ 端到端模型&#xff0c;是一个直接由输入获取输出的过程 ” 最近有一个很火的关于人工智能模型的词——端到端模型。 那么什么是端到端模型&#xff1f;为什么会提出端到端模型&#xff0c;以及它解决了哪些问题&#xff1f; 今天我们就来一起了解一下这个端到端模型。 …

如何使用ChatGPT撰写文献综述?7个步骤轻松搞定

大家好,感谢关注。我是七哥,一个在高校里不务正业,折腾学术科研AI实操的学术人。关于使用ChatGPT等AI学术科研的相关问题可以和作者七哥(yida985)交流,多多交流,相互成就,共同进步,为大家带来最酷最有效的智能AI学术科研写作攻略。 撰写文献综述对于研究人员和学生来说…

ssm汉服文化平台网站

专业团队&#xff0c;咨询就送开题报告&#xff0c;欢迎大家咨询&#xff0c;联系方式在文章底部 摘 要 本论文主要论述了如何使用JAVA语言开发一个汉服文化平台网站 &#xff0c;本系统将严格按照软件开发流程进行各个阶段的工作&#xff0c;采用B/S架构&#xff0c;面向对象…

【题解】—— LeetCode一周小结38

&#x1f31f;欢迎来到 我的博客 —— 探索技术的无限可能&#xff01; &#x1f31f;博客的简介&#xff08;文章目录&#xff09; 【题解】—— 每日一道题目栏 上接&#xff1a;【题解】—— LeetCode一周小结37 16.公交站间的距离 题目链接&#xff1a;1184. 公交站间的距…

【Linux】入门【更详细,带实操】

Linux全套讲解系列&#xff0c;参考视频-B站韩顺平&#xff0c;本文的讲解更为详细 目录 1、课程内容 2、应用领域 3、概述 4、 Linux和Unix 5、VMware15.5和CentOS7.6安装 6、网络连接三种方式 7、虚拟机克隆 8、虚拟机快照 9、虚拟机迁移删除 10、vmtools 11、目录…

抱歉占用公共资源,大家别猜啦,我们在一起了@Yaker

家人们上午好呀 这里是超绝脱单牛一枚 没错&#xff0c;我和Yaker有一个孩子&#xff08;bushi 今天我们的孩子YakLang来给大家介绍介绍&#xff0c;ta对块作用域的处理方式 在编程中&#xff0c;作用域&#xff08;Scope&#xff09;指的是变量、函数和对象的可访问性和生命…

文件查找和打包压缩【1.7】

文件查找和打包压缩【1.7】 八、文件查找和打包压缩8.1 文件查找8.1.1 locate8.1.2 findfind8.1.2.1 指定搜索目录层级8.1.2.2 先处理文件再处理目录8.1.2.3 根据文件名和inode查找8.1.2.4 根据属主属组查找8.1.2.5 根据文件类型查找8.1.2.6 空文件或目录8.1.2.7 组合条件8.1.2…

Vue项目之Element-UI(Breadcrumb)动态面包屑效果 el-breadcrumb

效果预览 需要导航的页面Vue.js 最笨的方法就是在每个需要面包屑的页面中固定写好 <template><div class="example-container"><el-breadcrumb separator="/"

不再错过任何一个区块!用Node.js + WebSocket轻松实现区块链实时监控

文章目录 前言一、WebSocket是什么&#xff1f;二、项目结构三、代码实现1. 后端实现2. 前端实现 四、启动项目总结 前言 随着区块链技术的发展&#xff0c;实时监控区块链网络中的区块和交易信息变得越来越重要。无论是开发去中心化应用&#xff08;DApp&#xff09;&#xf…

【WebGIS实例】(17)下载瓦片底图并实现离线加载——以天地图为例

前言 在有些项目中&#xff0c;会有部署到无法访问互联网的内网环境中&#xff0c;这时候就会有离线部署应用和地图服务等需求了。 本博客是本着交流学习的目的&#xff0c;分享一个离线瓦片地图的获取方案&#xff0c;以天地图为案例&#xff0c;实现步骤&#xff1a; 安装…

读书笔记——DDIA-v2 设计数据密集型应用(第二版)

ddia-v2中文版地址&#xff1a;https://github.com/Vonng/ddia/tree/v2 ddia-v2看完感觉爱不释手&#xff0c;只要是数据相关的知识都娓娓道来&#xff0c;为什么会这样&#xff1f;现在是怎样的&#xff1f;这样有什么问题&#xff1f;其中的看法和想法实在精辟、干练&#xf…

典型的MVC设计模式:使用JSP和JavaBean相结合的方式来动态生成网页内容典型的MVC设计模式

先看代码与实现&#xff1a; 文件结构 triangle_area4.jsp <% page contentType"text/html;charsetUTF-8" pageEncoding"UTF-8" %> <html> <body> <%--<jsp:useBean>&#xff1a;用于在JSP中实例化JavaBean。在这里&#xff0c…

感知笔记1:ROS 视觉- 跟随红球

- 目录 - 如何在 ROS 中可视化 RGB 相机。如何作为机器人切换主题。如何创建 blob 检测器。如何获取要跟踪的颜色的颜色编码。如何使用 blob 检测数据并移动 RGB 相机以跟踪 blob。 机器人技术中最常见的传感器是不起眼的 RGB 摄像头。它用于从基本颜色跟踪&#xff08;blob 跟…

解决 TortoiseGitPlink Fatal Error:深入解析

解决 TortoiseGitPlink Fatal Error&#xff1a;深入解析 在 Windows 平台上&#xff0c;开发者使用 Git 和 TortoiseGit 进行版本控制时&#xff0c;有时会遇到 TortoiseGitPlink Fatal Error。该错误通常是在推送/拉取代码时&#xff0c;客户端未能提供正确的 SSH 密钥。 1…

Linux之实战命令06:locate应用实例(四十)

简介&#xff1a; CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布&#xff1a;《Android系统多媒体进阶实战》&#x1f680; 优质专栏&#xff1a; Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a; 多媒体系统工程师系列【…

Maven-四、继承

Maven进阶 文章目录 Maven进阶前言继承设置继承依赖管理总结 前言 一个项目中的不同模块可能引用的是同一个依赖&#xff0c;在这种情况下&#xff0c;单独在某个模块内引用太麻烦&#xff0c;于是maven使用继承的思想&#xff0c;在父模块中配置依赖包&#xff0c;其他需要这…

实战OpenCV之直方图

基础入门 直方图是对数据分布情况的图形表示&#xff0c;特别适用于图像处理领域。在图像处理中&#xff0c;直方图通常用于表示图像中像素值的分布情况。直方图由一系列矩形条&#xff08;也被称为bin&#xff09;组成&#xff0c;每个矩形条的高度表示某个像素值&#xff08;…

3.6 第四行之__ipipe_init_proc()

点击查看系列文章 》 Interrupt Pipeline系列文章大纲-CSDN博客 原创不易&#xff0c;需要大家多多鼓励&#xff01;您的关注、点赞、收藏就是我的创作动力&#xff01; 3.6 第四行之__ipipe_init_proc() __ipipe_init_proc()并不是直接在start_kernel中调用&#xff0c;它的…