在Docker中使用Microsoft SQL Server数据库

下图中对SQL Server容器创建及数据库创建等操作进行了记录,方便自己日后查看。(文中的 * 仅表示隐藏自己的个人信息,手动马赛克,哈哈~)

Docker下载可看上一篇博文mac系统,docker下载安装

(下图为拉取完毕之后,使用docker ps查看当前运行容器的情况为起始,即没有将第一步与第二步记录。有空补上)

1. 从 Microsoft 容器注册表拉取 SQL Server 2017 Linux 容器映像。

docker pull mcr.microsoft.com/mssql/server:2017-latest

  

2. 使用以下命令运行Docker容器映像

docker run -e ‘ACCEPT_EULA=Y‘ -e ‘SA_PASSWORD=<YourStrong!Passw0rd>‘    -p 1433:1433 --name sql1    -d mcr.microsoft.com/mssql/server:2017-latest

这里的 <YourStrong!Passw0rd> 即设置你的数据库密码(注意:这里的密码要符合密码规则)「默认情况下,密码必须至少为 8 个字符长,且包含三个以下四种字符集的字符:大写字母、 小写字母、 十进制数字和符号」。至少8个字符的密码数,其中包括大写/小写/数字/符号这四种中的三种。

这里的 sql1 即是你给这个容器映像取的名称

3. 查看容器

docker ps -a

 若只看当前运行的容器则只需输入 docker ps 命令即可

4. 进入容器命令

docker exec -it sql1 "bash"

5. 在容器内使用使用 sqlcmd 进行本地连接(也可以使用vs Code进行连接数据库,具体可参考使用vscode创建运行sql脚本 和 使用vscode开发一个项目

/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P ‘<YourNewStrong!Passw0rd>‘

  

6. 创建数据库

CREATE DATABASE TestDB
go

  

7. 在数据库中插入数据

USE TestDB
CREATE TABLE Table1 (id INT, name NVARCHAR(50), quantity INT);
INSERT INTO Table1 VALUES (1, ‘banana‘, 150); INSERT INTO Table1 VALUES (2, ‘orange‘, 154);
go

  

8. 查看数据库中表的数据命令

select * from table1
go

  

9. 退出容器

exit

  

将项目中所要用到的数据库拷贝进容器中,再执行sql文件创建数据库

10. 首先进入本地的sql文件目录下

cd /Users/y*zi/codeProjects/C***z/scripts/database

 进入到该目录之后,使用 ls 查看该目录下所包含的文件

11. 拷贝该目录下的sql文件到指定容器中

docker cp /Users/y*zi/codeProjects/C***z/scripts/database/c****gs.sql wzsql:/home

  

12. 进入容器 docker  exec -it wzsql "bash" , 使用命令执行拷贝到容器中的sql文件

/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P ‘Ti****30‘ -i /home/c****gs.sql

  

至此,项目中所需要的数据库就在docker中创建完成了。mac系统中使用了Azure Data Studio进行连接数据库,执行sql导入数据

参考

[在Docker中体验数据库之Microsoft SQL Server](https://www.cnblogs.com/du-blog/p/10561787.html)

[使用Docker运行SQL Server容器映像](https://docs.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-docker?view=sql-server-2017&pivots=cs1-bash)

原文地址:https://www.cnblogs.com/songyan/p/11213868.html

时间: 2024-10-07 01:40:21

在Docker中使用Microsoft SQL Server数据库的相关文章

通过 Docker 实现在 Linux 容器中运行 Microsoft SQL Server 数据库

首先,我们需要输入以下命令来下载镜像(解压完成后大约1.35GB). docker pull microsoft/mssql-server-linux:2017-latest 运行“docker images”来进行确认. 运行容器 接下来,您需要运行它.为此,您需要接受许可协议,并为管理员帐户指定一个安全的密码.如果您想要开发者版本以外的东西,那么您也可以指定PID.还有很多其他的环境变量供您进行设置,您可以参考https://docs.microsoft.com/en-us/sql/linu

在打包程序中自动安装SQL Server数据库 .

原文:在打包程序中自动安装SQL Server数据库 . 1.创建安装项目“Setup1”安装项目 在“文件”菜单上指向“添加项目”,然后选择“新建项目”. 在“添加新项目”对话框中,选择“项目类型”窗格中的“安装和部署项目”,然后选择“模板”窗格中的“安装项目”.在“名称”框中键入 “setup1”. 单击“确定”关闭对话框. 项目被添加到解决方案资源管理器中,并且文件系统编辑器打开. 在“属性”窗口中,选择 ProductName 属性,并键入”亿万电器成套报价系统”. 2.在安装项目中创建

Microsoft SQL Server 数据库

1. master 数据库 master 数据库记录 SQL Server 系统的所有系统级别信息.它记录所有的登录帐户和系统配置设置.master 数据库是这样一个数据库,它记录所有其它的数据库,其中包括数据库文件的位置.master 数据库记录 SQL Server 的初始化信息,它始终有一个可用的最新 master 数据库备份. 2. tempdb 数据库 tempdb 数据库保存所有的临时表和临时存储过程.它还满足任何其它的临时存储要求,例如存储 SQL Server 生成的工作表.te

使用Docker运行Microsoft SQL Server 2017

最近每天都在空闲时间努力编写Apworks框架的案例代码WeText.在文本发布和处理微服务中,我打算使用微软的SQL Server for Linux来做演示,于是也就在自己的docker-compose中加入了MS SQL Server的服务.其实在Docker中运行SQL Server是非常容易的,今天大概做个介绍吧. 启动Microsoft SQL Server 2017容器 下面是我目前WeText案例中用于搭建基础结构服务的docker-compose.yml文件(该文件将来还会变动

sql server数据库中raiserror函数的用法

server数据库中raiserror的作用就和asp.NET中的throw new Exception一样,用于抛出一个异常或错误.这个错误可以被程序捕捉到. raiserror的常用格式如下:raiserror('错误的描述',错误的严重级别代码,错误的标识,错误的描述中的参数的值(这个可以是多个),一些其它参数),在官方上的格式描述如下: RAISERROR ( { msg_id | msg_str | @local_variable } { ,severity ,state } [ ,a

Microsoft SQL Server 简介

SQL Server 是Microsoft 公司推出的关系型数据库管理系统.具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2012 的大型多处理器的服务器等多种平台使用.Microsoft SQL Server 是一个全面的数据库平台,使用集成的商业智能 (BI)工具提供了企业级的数据管理.Microsoft SQL Server 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存

sql server 2008出现 数据库主体在该数据库中拥有架构,无法删除。 (Microsoft SQL Server,错误: 15138)

在用sql server 2008做数据挖掘时,出现用户无法访问的问题,所以给相应的数据库添加一个登入用户zhang,并赋予相应的权限.在调试时,发现还是存在问题,故想删除这个用户zhang,并新建一个用户.出现错误提示: 数据库主体在该数据库中拥有架构,无法删除. (Microsoft SQL Server,错误: 15138) 解决方案: 先删除此用户对应的架构,然后在删除对应的用户 具体步骤: 1.相应数据库-->安全性-->构架,先删除对应的构架 2.相应数据库-->安全性--&

用户、组或角色 &#39;zgb&#39; 在当前数据库中已存在。 (Microsoft SQL Server,错误: 15023)

在使用SQL Server 时,我们经常会遇到一个情况:需要把一台服务器上的数据库转移到另外一台服务器上.而转移完成后,需要给一个"登录"关联一个"用户"时,往往会发生错误: "错误15023:当前数据库中已存在用户或角色" 这个问题非常棘手,几经排常找到了原因与解决方法,因为这个问题与解决方法均比较复杂,所以把这个过程中的一些经验纪录下来与大家分享,希望能对大家以后的类似操作有所帮助. 原因及解决办法如下: 首先介绍一下sql server中&

Microsoft SQL Server中条件字段是Nvarchar类型的,条件有中文的无法查询的原因及处理方法

条件中带的是中文无法查询出,因为字段sender_su_name是nvarchar类型的,需要前面接个N SELECT * FROM [test].[dbo].[Ship_User_Email]  WHERE [sender_su_name]=N'奖励' 为什么要带N如下解释: 使用 Unicode 数据 Unicode 标准为全球商业领域中广泛使用的大部分字符定义了一个单一编码方案.所有的计算机都用单一的 Unicode 标准 Unicode 数据中的位模式一致地翻译成字符.这保证了同一个位模