SQL Server 简介与 Docker Compose 部署

news2024/9/25 7:17:43

今天我翻阅了在之前公司工作时的笔记,发现了有关数据库的一些记录。当时,我们的项目开始使用 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文件

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查看数据库的版本:

SELECT @@VERSION

_20231009221856.jpg

总结

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

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

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

相关文章

基于matlab统计Excel文件一列数据中每个数字出现的频次和频率

一、需求描述 如上表所示,在excel文件中,有一列数,统计出该列数中,每个数出现的次数和频率。最后,将统计结果输出到新的excel文件中。 二、程序讲解 第一步:选择excel文件; [Filename, Pathn…

VBox启动失败、Genymotion启动失败、Vagrant迁移

VBox启动失败、Genymotion启动失败、Vagrant迁移 2023.10.9 最新版本vbox7.0.10、Genymotion3.5.0 Vbox启动失败 1、查看日志 Error -610 in supR3HardenedMainInitRuntime! (enmWhat4) Failed to locate ‘vcruntime140.dll’ 日志信息查看方法->找到虚拟机所在位置->…

Linux基础指令大全

Linux基础指令大全 1. ls 指令2. pwd命令3. cd 指令4. touch指令5. mkdir指令6. rmdir指令 && rm 指令7. man指令8.cp指令9. mv指令10. cat 指令11. more指令12. less指令13. head指令14. tail指令15. 时间相关的指令1. **在显示方面,使用者可以设定欲显示的…

苍穹外卖项目

1. 苍穹外卖项目介绍 1.1 项目介绍 定位:专门为餐饮企业(餐厅、饭店)定制的一款软件产品 项目架构:体现项目中的业务功能模块 1.2 产品原型 产品原型:用于展示项目的业务功能,一般由产品经理进行设计 …

三十三、【进阶】索引的分类

1、索引的分类 (1)总分类 主键索引、唯一索引、常规索引、全文索引 (2)InnoDB存储引擎中的索引分类 2、 索引的选取规则(InnoDB存储引擎) 如果存在主键,主键索引就是聚集索引; 如果不存在主键&#xff…

【计算机基础】Git系列3:常用操作

📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨ 📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 📢:文章若有幸对你有帮助,可点赞 👍…

多路彩灯控制器led流水灯VHDL速度可调仿真图视频、源代码

名称:多路彩灯控制器led流水灯VHDL速度可调 软件:Quartus 语言:VHDL 代码功能: 使用VHDL设计彩灯控制器,共24个led灯,分为5种不同的花样,可以通过按键切换花样的变化速度。 代码下载&#…

【垃圾回收概述及算法】

文章目录 1. 垃圾回收概述及算法2. 垃圾回收相关算法2.1 标记阶段:引用计数算法2.2 标记阶段:可达性分析算法2.3 对象的 finalization 机制2.3.1 一个对象是否可回收的判断 2.4 清除阶段:标记-清除算法2.5 清除阶段:复制算法2.6 清…

【数据结构-字符串 三】【字符串转换】字符串解码

废话不多说,喊一句号子鼓励自己:程序员永不失业,程序员走向架构!本篇Blog的主题是【字符串转换】,使用【字符串】这个基本的数据结构来实现,这个高频题的站点是:CodeTop,筛选条件为&…

028.Python面向对象_类补充_元类

我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈 入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈 虚 拟 环 境 搭 建 :👉&…

JavaScript 解决dayjs在周日获取当前周第一天显示下一周第一天问题

原因:默认情况下,Day.js 将星期天视为每周的第一天。 方法:判断当天是不是周日,如果是就减一周。 import dayjs from dayjs const weekday dayjs().day() const we weekday 0 ? 0 - 1 : 0 // dayjs().add(7, day)、da…

Godot2D角色导航教程(角色随鼠标移动)

文章目录 运行结果2D导航概述开始前的准备2D导航创建导航网格创建角色 其他文章 运行结果 2D导航概述 Godot为2D和3D游戏提供了多个对象、类和服务器,以便于基于网格或基于网格的导航和路径查找。 说到导航,就得说一下导航网格,导航网格定义…

FreeRTOS自我救赎2之基本工程建立

System Core 1.System Core >SYS 2.System Core >RCC 3.System Core >NVIC Middleware Middleware >FREERTOS Clock configuration Project Manager 在编译生成的代码前需要找一个与芯片对应的启动文件,启动文件添加进来,编译就没问题了

【C语言】字符函数和内存操作函数

大家好,我是苏貝,本篇博客带大家了解字符函数和内存操作函数,如果你觉得我写的还不错的话,可以给我一个赞👍吗,感谢❤️ 目录 一.字符函数1.1 字符分类函数1.2 字符转换函数 二.内存操作函数2.1 memcpy2.2…

一个非常简单的变分量子分类器 (VQC)

一、说明 在之前的帖子(这里和这里)中,我已经开始谈论 QML,为什么以及如何学习,从现在开始,我将开始分享我的研究和发现,到目前为止,这些都是非常基本的。 二、实验概述 今天&#…

ASP.NET Core 开发 Web API

2. Web Api 的创建与Http类型的介绍 2.1 ASP.Net Core Web API项目的创建 1.创建ASP.NET Core Web API项目 从“文件”菜单中选择“新建”“项目”。 在搜索框中输入“Web API”。 选择“ASP.NET Core Web API”模板,然后选择“下一步”。 在“配置新项目”对话框中…

【苍穹外卖 | 项目日记】第一天

前言: 我打算用16天的时间写完黑马程序员的苍穹外卖项目,为了督促自己每天坚持写以及记录项目知识点,所以用这种项目日记的方式鞭策自己 目录 前言: 今日完结任务: 今日收获: 1.阅读代码框架&#xf…

回溯算法!

一、回溯思路及模板 1、如果解决一个问题有多个步骤,每一个步骤有多种方法,题目又要我们找出所有的方法,可以使用回溯算法; 回溯算法是在一棵树上的 深度优先遍历(因为要找所有的解,所以需要遍历&#xff…

C++对象模型(8)-- 数据语义学:this指针

1、this指针的认识 this 是 C 中的一个关键字,也是一个 const 指针 ,它指向当前对象,通过它可以访问当前对象的所有成员。所谓当前对象,是指正在使用的对象。 假如有这么一个类: class Base { public:int b_i;int b…

node中的crypto模块指南

node中的crypto模块指南 加密操作可能很棘手,以至于付费的加密服务公司的存在只是为了确保在代码库中正确实现加密操作。好消息是,只需学习一些知识,我们就可以使用 Node 的内置加密模块免费进行适当的加密。 在本指南中,我们将…