SQL Server 2017 的发布是 SQL Server 历史上首次同时发布 Windows 和 Linux 版本,本文将介绍如何在 Ubuntu 下部署 SQL Server 2017,包括它的安装及使用方法,卸载方法。此外,微软还发布了能使用 Docker 部署的容器版本。对 SQL Server 而言,这是其历史上具有里程碑意义的一步,因为这是跨出 Windows 的第一个版本,标志着 SQL Server 在 Linux 平台上首次可用。

SQL Server 2017 新版本成为第一个云端、跨不同操作系统的版本,包括 Linux、Docker。SQL Server 2017 目前支持的 Linux 发行版包括:Red Hat Enterprise Linux(RHEL), SUSE Linux Enterprise Server 和 Ubuntu。SQL Server 2017 支持 Docker 企业版,Kubernetes 和 OpenShift 这三大容器平台。

SQL Server 2017 新特性

1.SQL Server 2017 支持使用 R 和 Python 的分析方法,来做资料库内的机器学习,意味着不必迁移资料,省下不少时间。

2.图数据分析功能将使客户能够使用图形数据存储和查询语言扩展来使用原生的图形查询语法,以便在高度互连的数据中发现新的关系。

3.自适应查询处理可为数据库带来更智能的体验。例如,SQL Server 中的 Adaptive Memory Grants 跟踪并了解对给定的查询使用了多少内存,以调整内存的使用。

4.Automatic Plan Correction 通过查找和修正性能的回归来确保持续的性能。

SQL Server 2017 的核心功能在 Windows 和 Linux 上保持一致,但有少部分依赖于 Windows 功能的特性没有提供给 Linux (例如集群支持和集成 Windows 身份验证)。

安装 SQL Server 2017的条件

在 Linux 上 安装 SQL Server 2017 的先决条件:

设备类型

设备要求

内存

3.25 GB 及以上

文件系统

XFS或EXT4(其他文件系统,如BTRFS,不支持)

磁盘空间

6 GB

处理器速度

2 GHz

处理器核心

2 核

处理器类型

仅 x64 兼容

安装 SQL Server 2017 服务端

1.导入公共存储库 GPG 密钥

$ curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -

2.增加 Microsoft SQL Server Ubuntu 仓库

$ add-apt-repository "$(curl https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list)"

3.安装 SQL Server 服务端

$ apt-get update

$ apt-get install -y mssql-server

4.设置 SA 密码,并选择要安装的版本

运行:$ /opt/mssql/bin/mssql-conf setup

Choose an edition of SQL Server:

1) Evaluation (free, no production use rights, 180-day limit)

2) Developer (free, no production use rights)

3) Express (free)

4) Web (PAID)

5) Standard (PAID)

6) Enterprise (PAID)

7) Enterprise Core (PAID)

8) I bought a license through a retail sales channel and have a product key to enter.

Details about editions can be found at

https://go.microsoft.com/fwlink/?LinkId=852748&clcid=0x409

Use of PAID editions of this software requires separate licensing through a

Microsoft Volume Licensing program.

By choosing a PAID edition, you are verifying that you have the appropriate

number of licenses in place to install and run this software.

Enter your edition(1-8): 1

The license terms for this product can be found in

/usr/share/doc/mssql-server or downloaded from:

https://go.microsoft.com/fwlink/?LinkId=855864&clcid=0x409

The privacy statement can be viewed at:

https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x409

Do you accept the license terms? [Yes/No]:yes

Enter the SQL Server system administrator password:

Confirm the SQL Server system administrator password:

Configuring SQL Server...

The licensing PID was successfully processed. The new edition is [Enterprise Evaluation Edition].

Created symlink from /etc/systemd/system/multi-user.target.wants/mssql-server.service to /lib/systemd/system/mssql-server.service.

Setup has completed successfully. SQL Server is now starting.

一共提供了 8 个版本供选择,其中自由授予许可版本有:评估、开发人员和快速。

SA 帐户必须为强密码(最少 8 个字符,包括大写和小写字母、十进制数字和/或非字母数字符号)。

5.验证服务是否正在运行

运行:$ systemctl status mssql-server

mssql-server.service - Microsoft SQL Server Database Engine

Loaded: loaded (/lib/systemd/system/mssql-server.service; enabled; vendor preset: enabled)

Active: active (running) since Thu 2018-6-26 9:50:29 CST; 1min 22s ago

Docs: https://docs.microsoft.com/en-us/sql/linux

Main PID: 20776 (sqlservr)

CGroup: /system.slice/mssql-server.service

├─20776 /opt/mssql/bin/sqlservr

└─20796 /opt/mssql/bin/sqlservr

安装 SQL Server 2017 命令行工具

如果要创建数据库,需要使用客户端工具 sqlcmd 和 bcp。

1.导入公共存储库 GPG 密钥

$ curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -

2.增加 Microsoft Ubuntu 仓库

$ add-apt-repository "$(curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list)"

3.安装 SQL Server 命令行工具 和 unixODBC 开发人员工具包

$ apt-get update

$ apt-get install -y mssql-tools unixodbc-dev

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 Management Studio 或 Visual Studio Code 的 mssql 插件。

4.使用 Sqlcmd 建立本地连接

Sqlcmd 连接到本地的 SQL Server 实例。密码是在安装过程中配置的 SA 帐户密码。

$ sqlcmd -S localhost -U SA -P ''

参数说明:

-S 连接 SQL Server 的机器名

-U 连接 SQL Server 的用户名

-P 连接 SQL Server 的密码

连接成功,应会显示 Sqlcmd 命令提示符:1>,就类似下面这样

$ sqlcmd -S localhost -U SA

Password:

1>

创建数据库和查询数据

新建数据库

1.创建一个名为 TestDB 的新数据库

在 sqlcmd 命令提示符中,执行 Transact-SQL 命令以创建测试数据库。

1> CREATE DATABASE TestDB

在 SQL Server 中 命令并没有立即执行, 必须在新行中键入 GO 才能执行命令。

2> GO

2.返回服务器上所有数据库的名称

1> SELECT Name from sys.Databases

2> GO

Name

----------------------------------------

master

tempdb

model

msdb

TestDB

(5 rows affected)

插入数据

1.创建一个新表 Inventory,然后插入两个新行。

在 sqlcmd 命令提示符中,切换到新的 TestDB 数据库。

1> USE TestDB

创建名为 Inventory 的新表

2> CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)

将数据插入新表

3> INSERT INTO Inventory VALUES (1, 'banana', 150); INSERT INTO Inventory VALUES (2, 'orange', 154);

批量执行上述命令

4> GO

整个执行过程如下

1> USE TestDB

2> CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)

3> INSERT INTO Inventory VALUES (1, 'banana', 150); INSERT INTO Inventory VALUES (2, 'orange', 154);

4> GO

Changed database context to 'TestDB'.

(1 rows affected)

(1 rows affected)

2.查询数据

通过 sqlcmd 命令查询 Inventory 表中数量大于 152 的行

1> SELECT * FROM Inventory WHERE quantity > 152;

2> GO

id          name         quantity

------ ------------ -----------

2 orange       154

(1 rows affected)

3.退出 sqlcmd

要结束 sqlcmd 会话,请键入 QUIT。

1> QUIT

卸载 SQL Server 2017

若要删除 SQL Server 2017,可使用以下命令

$ apt-get remove mssql-server

删除包不会删除生成的数据库文件。如果你想要删除的数据库文件,可使用以下命令

$ sudo rm -rf /var/opt/mssql/

最后在推荐下微软良心出品 Visual Studio Code 这个编辑器,功能异常强大、跨平台并且是开源的。最重要的是它比 Atom 快,插件也很丰富。

下图为 VSCode+MSSQL 插件的效果图:

相关主题

cmd命令卸载sql server_Ubuntu下部署SQL Server 2017(安装及使用方法,卸载方法)相关推荐

  1. Linux Centos下SQL Server 2017安装和配置

    Linux Centos下SQL Server 2017安装和配置 原文:Linux Centos下SQL Server 2017安装和配置 我们知道在Linux下安装服务有很多方式,最为简单的也就是 ...

  2. CMD命令读取某个目录下所有文件夹名或文件名

    CMD命令读取某个目录下所有文件夹名或文件名 CMD命令读取某个目录下所有文件夹名或文件名 要用到的dir命令 开始操作 CMD命令读取某个目录下所有文件夹名或文件名 目的是给自己留个笔记! 要用到的 ...

  3. mysql8.0卸载出现问题,Windows环境下MySQL 8.0 的安装、配置与卸载

    软件版本 Windows:Windows10 MySQL:mysql-8.0.17-winx64.zip 安装步骤 1.配置环境变量 2.新建my.ini文件 文件位置:C:\Program File ...

  4. 安装mysql8.0配置环境_Windows环境下MySQL 8.0 的安装、配置与卸载

    软件版本 Windows:Windows10 MySQL:mysql-8.0.17-winx64.zip 安装步骤 1.配置环境变量 name:Path value:C:\Program Files\ ...

  5. win10 SQL SERVER 2017安装详解

    目录 SQL Server 2017安装 SSMS安装 写在之前 安装的sql程序包是cn_sql_server_2017_developer_x64_dvd_11296175 在安装之前最好是安装了 ...

  6. Win10 SQL Server 2017安装教程

    Win10 SQL Server 2017安装教程 1:下载地址 2:开始安装 1:安装环境预备说明 还要注意就是要先下载这个VC++的更新,可以解决服务器安装不上的问题,下载链接 :Microsof ...

  7. Microsoft SQL Server 2017安装教程

    Microsoft SQL Server 2017安装教程 1.下载群文件,找到setup.exe 点击安装 2.查看安装教程,跟着安装教程走[https://jingyan.baidu.com/ar ...

  8. 在Windows 2008 R2下部署SQL Server 2008 R2 群集(一)

    技术参考见SQL Server 2008 故障转移群集入门. 部署环境: 整个部署过程在虚拟环境下完成. 涉及到三台虚拟机: 计算机R2DCIscsi:角色DC,DNS,安装有Windows Serv ...

  9. sql 标量子查询_SQL Server 2017:标量子查询简化

    sql 标量子查询 Nowadays a lot of developers use Object-Relational Mapping (ORM) frameworks. ORM is a prog ...

最新文章

  1. 模板1.0 -- 模板基本原理
  2. python3 str bytes 字符串 字节 互相转换
  3. 大话网站---从Hello World到高并发网站
  4. Google Map V3--geocode与fitBounds方法的同步操作
  5. 正则表达式(Regular Expressions)
  6. python生成器推导式的结果是一个什么类似于对象_python 生成器和推导式
  7. 将传统 WPF 程序迁移到 DotNetCore 3.0
  8. python里面的tuple与list对比
  9. HDU 6446 Tree and Permutation(赛后补题)
  10. 物体抓取位姿估計算法綜述_3D视觉技术在机器人抓取作业中的应用
  11. 指定精确度(*号的使用)
  12. 【推荐实践】信息流推荐在凤凰新闻的业务实践
  13. jstack分析线程状态
  14. 美团外卖订单系统演进
  15. blob jdbc mysql_JDBC中级篇(MYSQL)——处理文件(BLOB)
  16. matlab 高精度无理数,如何从MatLab上的无理数产生近似分数?
  17. Unity一般工程升级到HDRP
  18. 一个Android菜鸟“面霸”的面试经历,如何少走弯路多加薪!
  19. Android获取软键盘输入内容
  20. 安卓开发中许多应用到的资源

热门文章

  1. AS5600 磁编码器的调试经验
  2. bowtie2的安装与环境配置
  3. Nginx - 负载均衡
  4. Ivanti:为每家企业构筑神经元
  5. 服务器虚拟化 目标,服务器虚拟化之虚拟机和模板介绍(49页)-原创力文档
  6. 【汇编 C++】类的构造与析构
  7. OpenGL之图片色彩处理(三)
  8. PVDF纳米纤维膜|聚偏氟乙烯纤维膜 纤维直径500-2000nm
  9. java上传文件校验文件后缀名、文件大小、文件名字【非常详细】
  10. 用python函数画德国国旗代码_Python使用Turtle模块绘制五星红旗代码示例