Docker下安装MSSQL并使用Navicat远程连接(备忘录)

news2024/9/29 1:19:22

Docker下安装MSSQL并使用Navicat远程连接

  • 一. Docker下安装MSSQL备忘录
    • 一、安装SQL Server
      • 1、从 Microsoft 容器注册表中请求 SQL Server 2022 (16.x) Linux 容器映像:
        • 注意:
      • 2、运行这个cu5的版本
        • 下表对前一个 docker run 示例中的参数进行了说明:
      • 3、看这个MSSQL运行没有?用 docker ps 命令:
      • 4、如何知道这个`SQL`是否可以用?一旦 `SQL Server` 错误日志显示以下消息,就可连接此服务器:`SQL Server is now ready for client connections. This is an informational message; no user action is required`。 可以使用以下命令查看容器内的 `SQL Server` 错误日志:
      • 5、更改系统管理员密码,使用 `docker exec` 运行`sqlcmd`,以使用 `Transact-SQL` 更改密码。 以下示例将从用户输入中读取旧密码和新密码。
    • 二、连接到`SQL Server`
      • 下列步骤在容器内部使用 `SQL Server` 命令行工具 `sqlcmd` 来连接 `SQL Server`。
        • 1、使用 `docker exec -it` 命令在运行的容器内部启动交互式 `Bash Shell`。 在下面的示例中,sql1 是在创建容器时由 --name 参数指定的名称。
        • 2、在容器内部使用完整路径通过 `sqlcmd` 进行本地连接。
        • 3、如果成功,应会显示 `sqlcmd` 命令提示符:`1>`。在 `sqlcmd` 命令提示符中,粘贴以下 `Transact-SQL` 命令以创建测试数据库:
        • 4、在下一行中,编写一个查询以返回服务器上所有数据库的名称:
        • 5、运行 `Transact-SQL` 命令。 完成后,键入 `QUIT`。
        • 6、如果想删除本教程中使用的 SQL Server 容器,请运行以下命令:
    • 三、容器中还原SQL Server数据库
      • 1、要通过 Docker 运行容器映像,可使用下列命令:
      • 2、要查看容器,请使用 docker ps 命令:
      • 3、使用 `docker exec docker exec` 来创建备份文件夹。 以下命令在 `SQL Server` 容器中创建 `/var/opt/mssql/backup` 目录 `/var/opt/mssql/backup`。
      • 4、在sql2之中执行创建目录:
      • 5、接下来,将 [WideWorldImporters-Full.bak](https://github.com/Microsoft/sql-server-samples/releases/tag/wide-world-importers-v1.0) 文件下载到主机。 并将备份文件下载为 `wwi.bak`。
      • 6、使用 docker cp 将备份文件复制到容器中 /var/opt/mssql/backup:
      • 7、在容器中运行 `sqlcmd`,列出备份中的逻辑文件名和路径。 这是通过`“RESTORE FILELISTONLY”Transact-SQL` 语句实现的`RESTORE FILELISTONLY`。
      • 8、这是恢复数据库的,这个才可以看见
    • 四、简单的SQL语句
      • 1、验证还原的数据库
      • 2、运行查询,查看 `Warehouse.StockItems` 表中的前 10 项 `Warehouse.StockItems`。
      • 3、用以下 UPDATE 语句更新第一项的说明UPDATE:
    • 五、容器中备份数据库
      • 1、使用`“BACKUP DATABASE”Transact-SQL` 命令在容器中创建数据库备份 BACKUP DATABASE。 本文在之前创建的 `/var/opt/mssql/backup` 目录中创建新的备份文件 `wwi_2.bak`。
      • 2、接下来,将备份文件从容器中复制到主计算机上。
  • 二. 使用`Navicat`远程连接
    • 1. 打开`Navicat`并连接
    • 二. Sql Server 连接
      • 1. 输入账号、密码、主机、连接名
      • 2. 测试连接
        • 1. 填上后 测试连接
        • 2. 安装`sqlncli_x64.msi`或`msodbcsql_64.msi`
          • 1. 安装 `sqlncli_x64.msi`
          • 2. 安装 `msodbcsql_64.msi`
            • 安装`msodbcsql_64.ms`
            • 安装时出现以下错误
            • 解决方案:
        • 3. 安装成功后可以测试链接







一. Docker下安装MSSQL备忘录

我们还是以阿里云的ECS,以Ubuntu 20.04 64位为例,在Docker中安SQL Server 2022 (16.x)。我们默认认为Docker已经安装好,Ubuntu 20.04也默认已经安装好了。

一、安装SQL Server

1、从 Microsoft 容器注册表中请求 SQL Server 2022 (16.x) Linux 容器映像:

sudo docker pull mcr.microsoft.com/mssql/server:2022-latest
注意:

我们这里请求的mssql 2022的最新cu,也可以说是版本,发一个更新包就更新一个cu。
也可以查询一下:mssql-server Docker hub 页
如果你有梯子,可以看到如下信息:

在这里插入图片描述
我们也可以指定当前最新的,比如:2022-CU6-ubuntu-20.04(2.9G);如果使用2022-latest,则表示一直用MSSQL 2022的最新版(只是一般这样)。为表示稳定,可以使用:

sudo docker pull mcr.microsoft.com/mssql/server:2022-CU5-ubuntu-20.04

来指定版本,虽然是次新版,但是体积只有1.58G。pull要快许多!

2、运行这个cu5的版本

sudo docker run -e "ACCEPT_EULA=Y" -e 

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

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

相关文章

JAVA基础——编译器报告的错误信息总结

1. Invalid character(无效字符) 中英文符号错误 2. 数组的常见异常 数组越界异常ArrayIndexOutOfBoundsException: 在使用索引访问数组的元素时超出了数组的索引范围0~length-1。 空指针异常NullPointerException: 在使用变量引用一个数…

CSS - 常用属性和布局方式

目录 前言 一、常用属性 1.1、字体相关 1.2、文本相关 1.3、背景相关 1.3.1、背景颜色 1.3.2、背景图片 1.4、圆角边框 二、常用布局相关 2.1、display 2.2、盒子模型 2.2.1、基本概念 2.2.2、border 边框 2.2.3、padding 内边距 2.2.4、margin 外边距 2.3、弹…

【Android】MQTT

目录 MQTT 协议简介应用场景优点缺点 部署服务端下载安装包启动服务器 搭建客户端下载SDK添加依赖配置MQTT服务和权限建立连接订阅主题发布消息取消订阅断开连接 MQTT客户端工具最终效果实现传感器数据采集与监测功能思路 MQTT 协议 简介 MQTT(Message Queuing Te…

【目标跟踪】多目标跟踪测距

文章目录 前言python代码(带注释)main.pysort.pykalman.pydistance.py 结语 前言 先放效果图。目标框内左上角,显示的是目标距离相机的纵向距离。目标横向距离、速度已求出,没在图片展示。这里不仅仅实现对目标检测框的跟踪&#…

【Django restframework】django跨域问题,解决PUT/PATCH/DELETE用ajax请求无法提交数据的问题

【Django restframework】django跨域问题,解决PUT/PATCH/DELETE用ajax请求无法提交数据的问题 1 问题描述: 我用restframework(ModelSerializerGenericApiView)开发了一组符合RestFul接口标准的接口,这意味着它将支持客户端发来的GET、POST、…

矢量图形编辑软件 illustrator 2023 mac 中文软件特点

illustrator 2023 mac是一款矢量图形编辑软件,用于创建和编辑排版、图标、标志、插图和其他类型的矢量图形。 illustrator 2023 mac软件特点 矢量图形:illustrator创建的图形是矢量图形,可以无限放大而不失真,这与像素图形编辑软…

【接口测试】Jmeter接口实战-Dubbo接口+造10W数据测试(详细)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、Windows环境通…

Harmony 个人中心(页面交互、跳转、导航、容器组件)

个人中心 前言正文一、创建工程二、登录① 更换启动页面② 拓展修饰符③ 页面跳转④ 等待进度条 三、导航栏四、首页① 轮播图② 网格列表 五、我的① 带参数跳转 六、源码 前言 今天是1024,祝各位程序员们,钱多事少离家近,不秃也强bug黄。在…

Plooks大型视频在线一起看网站源码

在前段时间,因为想和异地的朋友一起看电影,但是发现有电影的地方没有一起看功能,有一起看功能的视频网站没有电影,所以就想自己做一个一起看网站,于是就有了Plooks。 Plooks是一个完整的视频网站,其中包括…

linux驱动的IO 模型(高级字符设备一)

IO 是英文 Input 和 Output 的首字母,代表了输入和输出。操作系统(Linux)负责对计算机的资源进行管理和对进程进行调度,应用程序运行在操作系统上,处于用户空间。应用程序不能直接对硬件进行操作,只能通过操…

uniapp把文件中的内复制到另一个文件中

使用的是Html 5的plus.io.resolveLocalFileSystemURL方法,文档:HTML5 API Reference var soursePath file:///storage/emulated/0/a/;//用于读取var removePath file:///storage/emulated/0/w/;//用于移除w这个文件夹var targetPath file:///storage/…

03初始Docker

一、初始Docker 1.什么是Docker 问题 ①大型项目组件复杂,运行环境复杂,部署时依赖复杂,出现兼容性问题。 ②开发,测试,生产环境有差异。不同的环境操作系统不同 解决 ①Docket将应用、依赖、函数库、配置一起打…

ChatGPT AIGC 完成 Excel多条件求和操作

企业产品销售额是企业在一定时间内通过销售其产品获取的收入总额。 这个指标通常用于衡量企业的销售能力、市场占有率以及企业的健康度。企业产品销售额具体的计算方法是将企业在销售商品或服务时所取得的所有收入加总而得出。 在这个过程中,通常会考虑到可能存在的退货、折…

基于nodejs+vue备忘记账系统mysql

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性:…

上传和下载文件到google drive/Local pc

1 上传 参考:使用 Python 将文件上传到 Google 云端硬盘_迹忆客 Upload file to google drive using Python - CodeSpeedy (没起作用,但可以参考一下) 第 1 步:Google API Playground 我们可以通过搜索 Google 找到更多关于 Google API Pla…

Linux 开机启动一条PHP命令

当你开机的时候要自动的启动一条PHP命令场景:比如webman 你需要手动启动项目进程 你可以这样操作 流程: 1、准备好你要执行的命令 2、将命令写入一个服务文件 3、开机自启这个服务 实例: 1、比如这个命令 /usr/local/php/bin/php /ho…

Class类文件中的“咖啡宝贝”

Class文件是一组以8个字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑地排列在文件之中,中间没有添加任何分隔符,整个Class文件中存储的内容几乎全部是程序运行的必要数据,没有空隙存在。 字节码(Byte Code&am…

11、Python -- 列表去重的三种方法

目录 方法1:新列表搜集方法2:利用set集合方法3:使用itertools模块 新列表搜集法 使用set集合去重 使用itertools模块的groupby函数去重 方法1:新列表搜集 (1)创建新列表 (2)遍历源列…

Webpack 基础以及常用插件使用方法

目录 一、前言二、修改打包入/出口配置步骤 三、常用插件使用html-webpack-plugin打包 CSS 代码提取 CSS 代码优化压缩过程打包 less 代码打包图片文件 一、前言 本质上,Webpack 是一个用于现代 JavaScript 应用程序的 静态模块打包工具。当 webpack 处理应用程序时…

如何完善文件传输审批流程,降低企业文件安全风险?

在当今高度信息化的时代,数据的价值日益凸显。然而,如果在文件对外传输过程中缺乏必要的审批和留痕记录,可能会带来严重的安全隐患。企业面临巨额的经济损失;其次,企业的品牌形象也受到了严重损害;此外&…