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 并进行容器化部署有所帮助。

相关推荐
十叶知秋32 分钟前
【jmeter】jmeter的线程组功能的详细介绍
数据库·jmeter·性能测试
瓜牛_gn2 小时前
mysql特性
数据库·mysql
奶糖趣多多3 小时前
Redis知识点
数据库·redis·缓存
CoderIsArt4 小时前
Redis的三种模式:主从模式,哨兵与集群模式
数据库·redis·缓存
师太,答应老衲吧6 小时前
SQL实战训练之,力扣:2020. 无流量的帐户数(递归)
数据库·sql·leetcode
Channing Lewis7 小时前
salesforce case可以新建一个roll up 字段,统计出这个case下的email数量吗
数据库·salesforce
毕业设计制作和分享9 小时前
ssm《数据库系统原理》课程平台的设计与实现+vue
前端·数据库·vue.js·oracle·mybatis
ketil279 小时前
Redis - String 字符串
数据库·redis·缓存
Hsu_kk10 小时前
MySQL 批量删除海量数据的几种方法
数据库·mysql
编程学无止境10 小时前
第02章 MySQL环境搭建
数据库·mysql