docker server 容器连接sql_win10下docker中安装sqlserver并使用navicat premiun连接

本文档详细介绍了如何在Windows 10环境下,通过Docker运行SQL Server Linux容器,并使用Navicat Premium进行连接。首先,通过`docker search`和`docker pull`下载SQL Server镜像。接着,启动容器,设置环境变量和端口映射。随后,利用Navicat建立连接,创建数据库。接着,将`.bak`文件复制到容器内,并通过查询获取文件名以正确恢复数据库。最后,解决恢复过程中可能出现的问题。
摘要由CSDN通过智能技术生成

搜索镜像:docker search mssql

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

运行镜像:docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=[包含大小写字母、数字的长度不少于8位数的密码]" --privileged=true -v /mnt/mssql/data  -p 1433:1433 -d microsoft/mssql-server-linux

使用navicat premiun连接sqlserver,连接工具默认的sqlserver连接端口,就是1433,所以不用在主机地址后面加",1433":

登进去数据库之后,在"新建查询"里就可以新建数据库了:create database test;

使用.bak文档还原数据库

容器内创建文档夹(容器内执行)

mkdir /var/opt/mssql/backup

复制 .bak文档到容器(终端执行)

docker cp d:\exam.bak sql1:/var/opt/mssql/backup

使用Navicat Premium还原要恢复的数据库,新建查询 :

USE master

RESTORE DATABASE exam

FROM DISK = '/var/opt/mssql/backup/exam.bak'

WITH MOVE 'exam' TO '/var/opt/mssql/data/exam.mdf',

MOVE 'exam_log' TO '/var/opt/mssql/data/exam.ldf'

GO

解决问题:

遇到:

Error - Logical file is not part of database. Use RESTORE FILELISTONLY to list the logical file names

在新建查询中运行:

RESTORE FILELISTONLY

FROM DISK = '/var/opt/mssql/backup/example.bak'

查询出对应的LogicalName,然后将恢复数据库sql中的MOVE和WITH MOVE改成对应的LogicalName值:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值