我想在 linux 环境下尝试一下 Microsoft SQL Server,但是微软只发布了针对 Red Hat,SUSE,Ubuntu 和 Docker 引擎的。我平时习惯使用 Debian, Ubuntu 是基于 Debian 的,所以就基本按照在 Ubuntu 上安装的方法在 Debian 上安装,最终成功安装了。

系统要求

SQL Server 2017 具有以下适用于 Linux 的系统要求:

内存 2 GB
文件系统 XFS或EXT4 (其他文件系统,如BTRFS,均不受支持)
磁盘空间 6 GB
处理器速度 2 GHz
处理器核心 2个核心
处理器核心 仅 x64 兼容

安装 SQL Server

若要在 Ubuntu 上配置 SQL Server ,在终端中运行以下命令安装mssql server包。

  1. 导入公共存储库 GPG 密钥:
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
  1. 注册 Microsoft SQL Server Ubuntu 存储库:
curl https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list | sudo tee /etc/apt/sources.list.d/mssql-server.list
  1. 运行以下命令,安装 SQL Server:
sudo apt-get update
sudo apt-get install -y mssql-server
  1. 程序包安装完成后,请运行 mssql-conf setup 命令并按提示设置 SA 密码,然后选择版本。
sudo /opt/mssql/bin/mssql-conf setup

备注
请确保为 SA 帐户指定强密码(最少 8 个字符,包括大写和小写字母、十进制数字和/或非字母数字符号)。

  1. 配置完成后,请验证服务是否正在运行:
systemctl status mssql-server
  1. 如果你打算远程连接,你可能还需要打开防火墙上的 SQL Server TCP 端口 (默认值为 1433)。
  • 安装 firewalld 工具包并设置防火墙开启 SQL Server 服务端口:
sudo apt install firewalld
firewall-cmd --zone=public --add-port=1433/tcp --permanent
firewall-cmd --reload

安装 SQL Server 命令行工具

若要创建数据库,需要使用一个能够在 SQL Server 上运行 Transact-SQL 语句的工具进行连接。 以下步骤安装 SQL Server 命令行工具: sqlcmd和bcp。

使用以下步骤来安装 mssql-tools。

  1. 导入公共存储库 GPG 密钥。
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
  1. 注册 Microsoft Ubuntu 存储库。
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
  1. 更新源列表,并安装SQL Server工具包。
sudo apt-get update
sudo apt-get install mssql-tools unixodbc-dev
  1. Sqlcmd 工具默认安装到 /opt/mssql-tools/bin/ 中的,为方便使用把 /opt/mssql-tools/bin/ 添加到环境变量中。
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc

本地连接

以下步骤使用 sqlcmd 本地连接到新的 SQL Server 实例。
使用 SQL Server 名称 (-S),用户名 (-U) 的参数运行 sqlcmd。 在本教程中,用户进行本地连接,因此服务器名称为 localhost。 用户名为 SA 。

sqlcmd -S localhost -U SA -P '<YourPassword>'

最新文章

  1. ZeroMQ接口函数之 :zmq_msg_init - 初始化一个空的ZMQ消息结构
  2. JS正则截取两个字符串之间的字符串
  3. TensorFlow中与卷积核有关的各参数的意义
  4. $(window).height()获取浏览器高度不准
  5. namespace使用总结
  6. zf2 安装
  7. Hadoop分布式安装
  8. AVAudioRecorder 录制音频
  9. C# C/S系统软件开发平台架构图(原创)
  10. zsh 简单介绍
  11. 查看keras自动给文件夹标号
  12. Egg.js 中入参的校验
  13. centos7之添加开机启动服务/脚本
  14. 一分钟掌握位运算符—与(&amp;)、非(~)、或(|)、异或(^)
  15. jupyter notebook + frp 实现内容穿透
  16. QEMU Networking
  17. JavaScript知识精简
  18. java XML(可扩展标记语言)
  19. 【LG4248】[AHOI2013]差异
  20. TensoFlow的tf.reshape()

热门文章

  1. cmd命令和linux命令的区别
  2. Scala中sortBy和Spark中sortBy区别
  3. scala练习题--万年历
  4. 关于宝塔面板windows版6.2的一些使用心得
  5. 使“Cmder Here”菜单在Tab页开新窗口
  6. 排序算法Java代码实现(三)—— 插入排序 和 希尔排序
  7. 通过Maven发部项目的最实用配置
  8. Exif认识(二)
  9. Win10 默认用Windows照片查看程序打开图片
  10. 6.redis 的持久化有哪几种方式?不同的持久化机制都有什么优缺点?持久化机制具体底层是如何实现的?