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

本文介绍SQLServer2019的新增功能,包括大数据群集、容器注册表、Linux上的复制支持等,并提供使用Docker在Linux环境下安装和运行SQLServer2019的详细步骤,以及如何通过sqlcmd工具进行数据库连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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.2SQL Server 2019 CTP3.2 容器镜像

3. 查看运行状态

docker ps -a

 

二、使用 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 语句来操作数据库了。

安装 SQL ServerCentOS 上需要几个步骤,因为官方的 Microsoft SQL Server 镜像并不直接支持 Linux 发行版,但我们通常可以借助 Docker 或者第三方软件包管理工具(如 yum 或 dnf)。以下是通过 Docker 安装的一个简要指南: 1. **添加Docker仓库**: ```sh sudo curl -fsSL https://download.docker.com/linux/centos/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg sudo echo \ "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/centos $(lsb_release -cs) stable" | sudo tee /etc/yum.repos.d/docker-ce.repo > /dev/null ``` 2. **更新并安装Docker**: ```sh sudo yum install docker-ce docker-ce-cli containerd.io -y ``` 3. **启动并启用Docker服务**: ```sh sudo systemctl start docker sudo systemctl enable docker ``` 4. **查找SQL Server Docker镜像**: ``` sudo docker pull mcr.microsoft.com/mssql/server:latest ``` 5. **运行SQL Server容器(示例)**: ```sh sudo docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=<your_password>' -p 1433:1433 -d mcr.microsoft.com/mssql/server:latest ``` 这里 `<your_password>` 应该替换成您想要设置的SA账户密码。 6. **验证安装**: 使用 `docker ps` 查看SQL Server容器是否正在运行,然后连接到它: ```sh sqlcmd -S localhost -U sa -P <your_password> ``` 请注意,这不是一个完整的安装过程,而是概述了基本步骤。实际操作可能会因网络、权限需求的不同而有所变化。此外,如果你需要将SQL Server作为服务长期运行,可能需要创建自定义的Dockerfile或者使用像`mssql-server-linux`这样的官方RPM包。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值