现在.net core已经跨平台了,大家也都用上了linux用上了docker。跟.net经常配套使用的SQL SERVER以前一直是windows only,但是从SQL Server 2017开始已经支持运行在docker上,也就说现在SQL Serer已经可以运行在linux下了。

下面在Ubuntu 16.4上演示安装并使用SQL Server 2019-CTP3.2

SQL Server in Docker

sudo docker pull mcr.microsoft.com/mssql/server:2019-CTP3.2-ubuntu

使用docker pull命令从docker hub拉取sqlserver 2019-ctp3.2的镜像

sudo mkdir /hd2/sqlserver2019_data
sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=dev@123," -p 14330:1433 --name sqlserver2019 -v /hd2/sqlserver2019_data:/var/opt/mssql -d mcr.microsoft.com/mssql/server:2019-CTP3.2-ubuntu

使用docker run 命令启动容器,其中要注意的是使用-v参数指定了sqlserver2019_data目录挂载到容器的/var/opt/mssql目录,这个目录是用来存储数据库文件的,所以最好挂载到外容器外部,避免因为不小心删除容器而丢失数据

sudo docker ps -a

使用docker ps 命令查看容器运行情况,可以看到sqlserver2019正在运行

使用命令行连接SQL Server

sudo docker exec -it sqlserver2019 "bash"

使用docker exec命令登录到容器内部执行命令

/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "dev@123,"

在容器内部执行命令,打开sqlcmd

打开sqlcmd之后我们就可以进行一些数据库的操作了,比如创建数据库,创建表,查询数据等。

CREATE DATABASE TEST_DB
GO
USE TEST_DB
GO
CREATE TABLE Table1 (ID INT, NAME NVARCHAR(50))
GO
Insert Into Table1 Values (0, 'agile')

创建TEST_DB数据库;创建表Table1;插入一行数据;查询表数据



我们使用docker运行的SQL Server同样可以使用Sql Server Management Studio来管理。



使用服务器ip加端口连接成功后,可以看到刚才新建的数据库TEST_DB跟表TABLE1还有里面的数据都在。能使用SSMS管理后就简单多了跟使用SQL Server其他版本没啥区别。



至此SQL Server in Docker的基本操作演示的差不多了,还有更多的高级功能比如配置故障转移集群,复制订阅,Always On等功能跟windows环境配置还有点区别大家可以自己尝试一下。

最新文章

  1. java深入技术九 (注解)
  2. SQL如何取得一个面的中心点
  3. Bootstrap3.0学习第二十四轮(JavaScript插件——按钮)
  4. Resumable Media Uploads in the Google Data Protocol
  5. Android 内存溢出解决方案(OOM) 整理总结
  6. angularJs编写多指令的情况
  7. Linux Shell脚本编程--sed命令详解
  8. wpf实现IE菜单栏自动隐藏效果
  9. EasyUI中datagrid实现显示、增加、 删除、 修改、 查询操作(后台代码C#)
  10. GCD教程(二):多核心的性能
  11. 移动端网页meta设置和响应式
  12. OGG的孩子-有损音频编码opus
  13. 关于.NET C#上传大文件的解决办法
  14. 三、CSS样式——链接
  15. phpstorm 免费激活码
  16. linux系统关闭IPv6的方式
  17. 快播王欣发布匿名IM社交软件“马桶MT”
  18. ADOQuery.Parameters: Property Parameters does not exist
  19. LoadRunner-参数化(连接数据库)
  20. 解决:VS2010 调试器无法继续继续运行该进程,无法启动调试

热门文章

  1. 干货!Git 如何使用多个托管平台管理代码
  2. VUE、微信for动态变量取值(拼接取值)
  3. 【转载】BIO、NIO、AIO
  4. 面试超火题 This的问题!!!
  5. Go 语言基础
  6. shell遍历文件
  7. Jenkins+GitLab+Docker+SpringCloud+Kubernetes实现可持续自动化微服务
  8. DBA主宰一切请求,MySQL 查询重写
  9. ABP开发框架前后端开发系列---(15)ABP框架的服务端和客户端缓存的使用
  10. 1. UML软件设计模型图整理