使用 Docker 部署 SQL Server 并导入 .mdb 文件的完整指南

最近在项目中遇到一个需求,需要从 .mdb 文件中提取特定数据并导入到现有系统数据库中。当现场同事将 .mdb 文件发给我后,我首先尝试在本地打开以查看数据结构,但试了多种方法都未能成功------原生的 Microsoft Access 需要付费激活,其他各类工具也均告失败。后来在网上看到有网友建议可以将 .mdb 文件导入 SQL Server 数据库后再进行操作,于是灵机一动:部署一个 SQL Server 岂不是更直接?我便翻出之前 Docker 部署 SQL Server 的文档,结果发现相关镜像已不存在。于是,我重新查阅资料,整理了以下关于如何使用 Docker 部署 SQL Server 并导入 .mdb 文件的步骤。

❓什么是.mdb文件?

.mdb文件是Microsoft Access数据库文件,它是微软公司开发的一种专有数据库格式,主要用于其桌面关系数据库管理系统(RDBMS)------Microsoft Access。

主要用途:

  • 桌面数据库应用:适用于中小型业务的数据管理(如库存、客户信息)。

  • 原型开发:快速构建数据库应用程序原型。

  • 报表生成:创建和管理自定义报表。

  • 与其他Office集成:可与Excel、Word等无缝连接。

🐳Docker部署sql server数据库

📋创建docker-compose.yml 文件

首先创建一个部署目录sqlserver,在该目录下创建docker-compose.yml文件,内容如下:

yaml 复制代码
services:
  sqlserver:
    image: mcr.microsoft.com/mssql/server:2025-latest
    container_name: mssql-server
    restart: always
    environment:
      #接受最终用户许可协议
      - ACCEPT_EULA=Y
      #SA用户密码,密码长度必须至少为8个字符,并且包含以下四组中的三组字符:大写字母、小写字母、数字和符号。
      - SA_PASSWORD=Abcd1234
    ports:
      - 1433:1433
    volumes:
      - ./mssql:/var/opt/mssql

📂创建挂载目录并授权

在docker-compose.yml同级目录下创建数据挂载目录mssql并授权

shell 复制代码
# 创建挂载目录
mkdir mssql
# 赋权限
chmod -R 777  mssql

📚启动服务

在docker-compose.yml同级目录下执行以下命令启动服务

shell 复制代码
docker-compose up -d 

如果启动过程中有报权限文档的错误Access denied errno = 0xD(13) Permission denied]时,给挂载目录赋权限之后再重新启动容器即可。

🚀连接数据库

我连接数据库使用的时navicat,我记得旧版本还需要再安装目录下安装qlncli,但是新版本的navicat不用,直接连接即可.

⬆️将.mdb文件导入sql server数据库

连接到sql server 数据库之后新建数据库,再上右击导入向导,选择MS Access数据库,点击下一步,选择需要导入的表,将数据导入到sql server 中,然后按照正常的数据表就可以查看了。如果需要修改,则修改完之后再导出文件即可。

📝总结

通过 Docker 部署 SQL Server 并结合 Navicat 等工具,可以高效、灵活地处理 .mdb 文件,既避免了本地安装 Microsoft Access 的成本与限制,也便于在开发环境中进行数据迁移与转换。这种方法尤其适合需要临时或频繁处理 Access 数据的开发与运维场景,具备良好的可复现性与环境隔离性。

相关推荐
数安旭说7 分钟前
企业终端行为审计建设:本地审计 + 网络审计构建完整溯源取证体系
运维·数据安全·软件需求·溯源·审计·网络审计
Elastic 中国社区官方博客1 小时前
在 Elasticsearch 中回填时间序列数据:通过批量 API 加载数月的历史指标数据
大数据·运维·数据库·人工智能·elasticsearch·搜索引擎·全文检索
10mAh1 小时前
【Linux】CPU 100% 怎么排查?——top、pidstat、jstack 到线程定位实战
linux·运维·服务器
LRL_1 小时前
深入浅出 Kubernetes 控制器:Deployment 与 StatefulSet 核心区别全景图
云原生·容器·kubernetes
!chen2 小时前
客户环境 Nginx 配置流式报表与超时排查
运维·nginx
起名真的太难了2 小时前
Docker 项目部署
docker·容器·eureka
狼与自由2 小时前
docker 安装milvus
docker·milvus
KIZIFLOW北泽五金2 小时前
液压系统压力损失怎么降?成因分析与减损实操方案
运维·自动化·新媒体运营·产品运营·流量运营·用户运营·内容运营
介拙2 小时前
Zabbix 7.0 从装到告警触发,我踩了这些坑
运维
爱吃提升3 小时前
VMware虚拟机迁移系统磁盘完整教程(VMware Workstation17)
linux·运维·服务器