共计 1276 个字符,预计需要花费 4 分钟才能阅读完成。
现在.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 环境配置还有点区别大家可以自己尝试一下。