SQL Server 简介与 Docker Compose 部署

今天我翻阅了在之前公司工作时的笔记,发现了有关数据库的一些记录。当时,我们的项目开始使用 Oracle 数据库,但后来由于一些项目需求的变更,我们切换到了 SQL Server 。值得一提的是,公司当时也开始采用 Docker 技术,数据库的部署都是通过 Docker Compose 来完成的。今天,我想与大家分享一下我当时记录的SQL Server数据库部署笔记。

SQL Server 是由微软公司开发的一款强大的关系型数据库管理系统(RDBMS),广泛应用于企业级应用程序和数据存储。使用 Docker Compose,您可以轻松地将 SQL Server 实例部署到容器化环境中,并方便地进行数据库管理。在本文中,我将简要介绍 SQL Server 的基本概念,并详细阐述如何使用 Docker Compose 部署 SQL Server 容器。

sqlserver.jpg

什么是 SQL Server?

SQL Server 是一种功能强大的关系型数据库管理系统,它支持广泛的企业级应用程序和数据存储需求。SQL Server 提供了高级的数据管理、安全性和性能优化功能,适用于各种规模的业务。它具有以下特点:

  • 强大的查询语言: SQL Server 支持 SQL 查询语言,使您能够轻松地检索、更新和管理数据库中的数据。
  • 高级安全性: SQL Server 提供强大的安全性功能,包括访问控制、数据加密和身份验证,以保护敏感数据。
  • 可扩展性: SQL Server 可以轻松扩展以适应不断增长的数据需求,并具有自动化的性能优化功能。
  • 支持多种平台: SQL Server 不仅可以在 Windows 平台上运行,还可以在 Linux 和容器化环境中使用。

使用 Docker Compose 部署 SQL Server

创建docker-compose.yml文件

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

在docker-compose.yml 的同级目录下执行如下命令启动容器:

docker-compose up -d 

注意:SA用户密码长度必须至少为8个字符,并且包含以下四组中的三组字符:大写字母、小写字母、数字和符号。如果不符合要求,启动的时候日志显示报错

_20231009220755.jpg

连接数据库

博主使用的是nacivat 连接的

_20231009221307.jpg

如果连接的时候出现如下弹框

_20231009215230.jpg

原因是未安装对应驱动,我们只需在navicat的安装目录下找到对应驱动,点击安装即可, 安装过程中设置为全部允许安装

_20231009221638.jpg

安装完之后连接就可以了,我们可以执行如下sql查看数据库的版本:

sql 复制代码
SELECT @@VERSION

_20231009221856.jpg

总结

SQL Server 是一个功能强大的关系型数据库管理系统,适用于各种规模的应用程序和数据存储需求。使用 Docker Compose,您可以轻松部署和管理 SQL Server 容器,使其适用于现代容器化环境。希望本文对您了解 SQL Server 并进行容器化部署有所帮助。

相关推荐
丁总学Java24 分钟前
要查询 `user` 表中 `we_chat_subscribe` 和 `we_chat_union_id` 列不为空的用户数量
数据库·mysql·微信小程序
张声录131 分钟前
【ETCD】【实操篇(十七)】 etcd 集群定期维护指南
数据库·etcd
岚精灵玩电脑1 小时前
Spring自动化创建脚本-解放繁琐的初始化配置!!!(自动化SSM整合)
数据库·spring·自动化
追风赶月、1 小时前
【MySQL】数据类型
数据库·mysql
whisperrr.1 小时前
探索JDBC:Java数据库连接的艺术与魅力
java·开发语言·数据库
boy快快长大2 小时前
【NebulaGraph】查询案例(六)
java·服务器·数据库
万亿少女的梦1682 小时前
高校网络安全存在的问题与对策研究
java·开发语言·前端·网络·数据库·python
MrJson-架构师2 小时前
5.银河麒麟V10(ARM) 离线安装redis
arm开发·数据库·redis
engchina2 小时前
Python中的sqlite3模块:SQLite数据库接口详解
数据库·python·sqlite
陶然同学2 小时前
【黑马头条】day20—xxl-job
java·数据库·redis·项目