CentOS7中安装SQL Server 2019 for Docker和sqlcmd工具

SQL Server 2019 为 SQL Server 引入了 大数据群集。 它还为 SQL Server 数据库引擎、SQL Server Analysis Services、SQL Server 机器学习服务、Linux 上的 SQL Server 和 SQL Server Master Data Services 提供了附加功能和改进。

相对于SQL Server 2017 新增以下功能

新增功能或更新 详细信息
新建容器注册表 开始使用 Docker 上的 SQL Server 容器
复制支持 Linux 上的 SQL Server 复制
支持 Microsoft 分布式事务处理协调器 (MSDTC) 如何在 Linux 上配置 MSDTC
OpenLDAP 支持第三方 AD 提供商 教程:对 Linux 上的 SQL Server 使用 Active Directory 身份验证
Linux 上的机器学习 在 Linux 上配置机器学习
tempdb 改进: 默认情况下,Linux 上的 SQL Server 新安装会根据逻辑内核数创建多个 tempdb 数据文件(最多 8 个数据文件)。 这不适用于就地次要版本或主版本升级。 每个 tempdb 文件的大小为 8MB,且自动增长大小为 64MB。 此行为类似于 Windows 上的默认 SQL Server 安装。
Linux 上的 PolyBase 在 Linux 上为非 Hadoop 连接器安装 PolyBase

PolyBase 类型映射
变更数据捕获 (CDC) 支持 Linux 上的 SQL Server 2019 现在支持变更数据捕获 (CDC)。

 

一、使用 Docker 安装并运行 SQL Server 2019

1. 拉取MSSQL2019-CTP3.2版本镜像

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

2. 运行容器

docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=Passw0rd" -p 1433:1433 -v /data/mssql:/var/opt/mssql -d mcr.microsoft.com/mssql/rhel/server:2019-CTP3.2

docker run 的参数说明:

参数 描述
-e 'ACCEPT_EULA=Y' 固定值,用以确认接受用户许可协议
-e "MSSQL_SA_PASSWORD=Passw0rd" 指定SQLSERVER的密码(至少包含 8 个字符的强密码)
-p 1433:1433 将物理机的IP地址映射到容器端口
-v /data/mssql:/var/opt/mssql 将物理机的 /data/mssql 目录映射到容器中
--name sql1 为容器指定一个自定义名称(不设置时是系统自动随机生成)
mcr.microsoft.com/mssql/rhel/server:2019-CTP3.2 SQL Server 2019 CTP3.2 容器镜像

3. 查看运行状态

docker ps -a

CentOS7中安装SQL Server 2019 for Docker和sqlcmd工具

 

二、使用 sqlcmd 连接到 SQL Server

1. 下载 Microsoft Red Hat 存储库配置文件

curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo

2. 安装 mssql-tools

sudo yum install mssql-tools unixODBC-devel

如果安装了早期版本的 mssql-tools,使用下面的命令删除旧的 unixODBC 包
sudo yum remove mssql-tools unixODBC-utf16-devel

想要在 bash shell 中运行 sqlcmd,需要向 PATH 环境变量添加 /opt/mssql-tools/bin/

echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc

3. 连接到 SQL Server

使用 sqlcmd 连接到本地Docker上运行的SQL Server,连接账号 sa,密码是运行容器时设置的密码。

sqlcmd -S 127.0.0.1 -U SA -P 'Passw0rd'

连接成功后,就可以使用 SQL 语句来操作数据库了。

CentOS7中安装SQL Server 2019 for Docker和sqlcmd工具

上一篇:MSSQL转Mysql常用函数,语法等


下一篇:EF在异步连接MSSQL下报此连接不支持 MultipleActiveResultSets