快速入门:在 Red Hat 上安装 SQL Server 并创建数据库

总体说明:

适用于: SQL Server (仅限 Linux)Azure SQL 数据库Azure SQL 数据仓库并行数据仓库

在此快速入门中,您安装 SQL Server 2017 或 SQL Server 2019 上 Red Hat Enterprise Linux (RHEL) 7.3 +。 然后使用连接sqlcmd创建第一个数据库和运行查询。

提示

本教程需要用户输入和 Internet 连接。 如果您对无人参与脱机安装感兴趣,请参阅 Linux 上的 SQL Server 的安装指南

必要條件

必须使用 RHEL 7.3 或 7.4 计算机,且必须拥有至少 2 GB 的内存。

若要在自己的计算机上安装 Red Hat Enterprise Linux,请访问http://access.redhat.com/products/red-hat-enterprise-linux/evaluation。也可在 Azure 中创建 RHEL 虚拟机。 请参阅使用 Azure CLI 创建和管理 Linux VM,并在对 az vm create 的调用中使用 --image RHEL

如果以前已安装的 CTP 或 SQL Server 2017 的 RC 版本,必须执行以下步骤之前先删除旧存储库。 有关详细信息,请参阅配置 Linux 存储库以用于 SQL Server 2017 和 2019年

其他系统要求,请参阅Linux 上的 SQL Server 的系统要求

安装 SQL Server

若要在 RHEL 上配置 SQL Server,请在终端中运行以下命令,以便安装mssql server包:

  1. 下载 Microsoft SQL Server 2017 Red Hat 存储库配置文件:

    bash复制
    sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo

    提示

    如果你想要试用 SQL Server 2019,则必须改为注册预览版 (2019) 存储库。 对于 SQL Server 2019 安装中使用以下命令:

    bash复制
    sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-preview.repo
  2. 运行以下命令,安装 SQL Server:

    bash复制
    sudo yum install -y mssql-server
  3. 程序包安装完成后,请运行 mssql-conf setup 命令并按提示设置 SA 密码,然后选择版本。

    bash复制
    sudo /opt/mssql/bin/mssql-conf setup

    提示

    自由授权以下 SQL Server 2017 版本: Evaluation、 Developer 和 Express。

    备注

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

  4. 配置完成后,请验证服务是否正在运行:

    bash复制
    systemctl status mssql-server
  5. 若要允许远程连接,请在 RHEL 上打开防火墙上的 SQL Server 端口。 默认的 SQL Server 端口为 TCP 1433。 如果对防火墙使用 FirewallD,可以使用以下命令:

    bash复制
    sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
    sudo firewall-cmd --reload

SQL Server 目前正在 RHEL 计算机上运行,可以使用了!

安装 SQL Server 命令行工具

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

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

    bash复制
    sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo
  2. 如果你有旧版mssql 工具安装,请删除任何较旧的 unixODBC 包。

    bash复制
    sudo yum remove unixODBC-utf16 unixODBC-utf16-devel
  3. 运行以下命令以安装 mssql-tools 和 unixODBC 开发人员包。

    bash复制
    sudo yum install -y mssql-tools unixODBC-devel
  4. 为方便起见,请将 /opt/mssql-tools/bin/ 添加到 PATH 环境变量。 这样就可以在运行工具时不指定完整路径。 请运行以下命令,以便修改登录会话和交互/非登录会话的 PATH:

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

本地连接

以下步骤使用 sqlcmd 本地连接到新的 SQL Server 实例。

  1. 使用 SQL Server 名称 (-S),用户名 (-U) 和密码 (-P) 的参数运行 sqlcmd。 在本教程中,用户进行本地连接,因此服务器名称为 localhost。 用户名为 SA,密码是在安装过程中为 SA 帐户提供的密码。

    bash复制
    sqlcmd -S localhost -U SA -P '<YourPassword>'

    提示

    可以在命令行上省略密码,以收到密码输入提示。

    提示

    如果以后决定进行远程连接,请指定 -S 参数的计算机名称或 IP 地址,并确保防火墙上的端口 1433 已打开。

  2. 如果成功,应会显示 sqlcmd 命令提示符:1>

  3. 如果连接失败,请首先尝试根据错误消息诊断问题。 然后查看连接故障排除建议

创建和查询数据

下面各部分将逐步介绍如何使用 sqlcmd 新建数据库、添加数据并运行简单查询。

新建数据库

以下步骤创建一个名为 TestDB 的新数据库。

  1. 在 sqlcmd 命令提示符中,粘贴以下 Transact-SQL 命令以创建测试数据库:

    SQL复制
    CREATE DATABASE TestDB
  2. 在下一行中,编写一个查询以返回服务器上所有数据库的名称:

    SQL复制
    SELECT Name from sys.Databases
  3. 前两个命令没有立即执行。 必须在新行中键入 GO 才能执行以前的命令:

    SQL复制
    GO

提示

若要详细了解如何编写 Transact-SQL 语句和查询,请参阅教程:编写 Transact-SQL 语句

插入数据

接下来创建一个新表 Inventory,然后插入两个新行。

  1. 在 sqlcmd 命令提示符中,将上下文切换到新的 TestDB 数据库:

    SQL复制
    USE TestDB
  2. 创建名为 Inventory 的新表:

    SQL复制
    CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)
  3. 将数据插入新表:

    SQL复制
    INSERT INTO Inventory VALUES (1, 'banana', 150); INSERT INTO Inventory VALUES (2, 'orange', 154);
  4. 要执行上述命令的类型 GO

    SQL复制
    GO

选择数据

现在,运行查询以从 Inventory 表返回数据。

  1. 通过 sqlcmd 命令提示符输入查询,以返回 Inventory 表中数量大于 152 的行:

    SQL复制
    SELECT * FROM Inventory WHERE quantity > 152;
  2. 执行命令:

    SQL复制
    GO

退出 sqlcmd 命令提示符

要结束 sqlcmd 会话,请键入 QUIT

SQL复制
QUIT

性能最佳实践

在 Linux 上安装 SQL Server 后, 查看配置 Linux 和 SQL Server 来提高生产方案的性能的最佳做法。 有关详细信息,请参阅的性能最佳实践和 Linux 上的 SQL Server 配置准则

跨平台数据工具

除了sqlcmd,可以使用以下跨平台工具来管理 SQL Server:

   
Azure 数据 Studio 跨平台 GUI 数据库管理实用程序。
mssql-cli 用于运行 TRANSACT-SQL 命令的跨平台命令行界面。
Visual Studio Code 运行 TRANSACT-SQL 语句,mssql 扩展通过一个跨平台 GUI 代码编辑器。

从 Windows 连接

Windows 上的 SQL Server 工具连接到 Linux 上的 SQL Server 实例,操作方式与连接到任何远程 SQL Server 实例一样。

如果有一台可以连接到 Linux 计算机的 Windows 计算机,请从运行 sqlcmd 的 Windows 命令提示符尝试执行本主题中的相同步骤。仅验证所使用的是目标 Linux 计算机名称或 IP 地址,而非 localhost,并确保 TCP 端口 1433 已打开。 如果从 Windows 进行连接存在任何问题,请参阅连接故障排除建议

有关在 Windows 上运行,但连接到 Linux 上的 SQL Server 的其他工具,请参阅:

其他部署方案

有关其他安装方案,请参阅以下资源:

   
升级 了解如何升级 Linux 版 SQL Server 的现有安装
卸载 在 Linux 上卸载 SQL Server
无人参与安装 了解如何编写无提示安装脚本
脱机安装 了解如何手动下载脱机安装程序包

提示

有关常见问题的解答,请参阅SQL Server Linux 常见问题

后续步骤

[官网]SQLSERVER ON linux 的最低要求 以及安装方法的更多相关文章

  1. Spring官网阅读(二)(依赖注入及方法注入)

    上篇文章我们学习了官网中的1.2,1.3两小节,主要是涉及了容器,以及Spring实例化对象的一些知识.这篇文章我们继续学习Spring官网,主要是针对1.4小节,主要涉及到Spring的依赖注入.虽 ...

  2. linux nload命令简介及安装方法

    第一步:nload命令简介 nload 命令用于查看linux网络流量状况,实时输出.可以理解为是一个控制台应用程序,用来实时监测网络流量和带宽使用情况的命令. 使用可视化的界面显示流入和留出系统的网 ...

  3. Linux下的各种软件安装方法汇总

    1 RPM包 1.1 安装 RPM包就像Windows的EXE安装文件一样,各种文件都已经编译好了,并进行了打包,哪一个文件应该放在哪一个目录下都指定好了,安装非常方便,在图形界面里你只需要双击就能自 ...

  4. [微软官网]SQLSERVER的版本信息

    来源:https://docs.microsoft.com/zh-cn/sql/sql-server/editions-and-components-of-sql-server-2017?view=s ...

  5. [微软官网] SQLSERVER 执行页面还原

    执行页面还原 https://docs.microsoft.com/zh-cn/previous-versions/sql/sql-server-2008-r2/ms175168(v=sql.105) ...

  6. Linux操作系统下软件的安装方法大全

    一.rpm包安装方式步骤: 1.找到相应的软件包,比如soft.version.rpm,下载到本机某个目录: 2.打开一个终端,su -成root用户: 3.cd soft.version.rpm所在 ...

  7. zz:linux下rz,sz的安装方法

    zz:http://xukaizijian.blog.163.com/blog/static/1704331192011611104631875/ wget http://ohse.de/uwe/re ...

  8. MySQL在linux上的source code安装方法(configure)

    1.建立操作系统用户和组 [root@faspdev ~]# groupadd mysql [root@faspdev ~]# useradd -g mysql mysql 2.解压安装文件,进入解压 ...

  9. XAMPP(Linux版-x86兼容)官网下载

    欢迎光临 XAMPP 的 Linux 版 (x86 兼容处理器版)顺便提一下:该软件以前被称作 LAMPP,但为了避免误解,我们将其重名命为 »XAMPP 的 Linux 版«.所以,如果您在寻找 L ...

随机推荐

  1. 4557: [JLoi2016]侦察守卫

    4557: [JLoi2016]侦察守卫 链接 分析: 因为D比较小,所设状态f[i][j]表示子树i内,从i往下第j层及第j层以下都覆盖了的最小代价,g[i][j]表示覆盖完子树内所有点,还可以往上 ...

  2. Xming 多屏选项

    最早接触xming是从GrADS软件弹出的那个窗口开始的.到后来发现它是一个显示图形界面的软件,设置multiwindow 选项,xshell+xming连远程服务器,屡试不爽.随着设备升级,用上了双 ...

  3. MyEclipse断点调试不可用解决办法

    前言:MyEclipse中出现Debug调试不可用,断点处出现斜线.那么,如何解决此类问题? 1.打开myeclipse软件(版本不限) 2.设置断点,出现如下图所示情况,断点处出现斜线. 3.修改方 ...

  4. easyx图形库做贪吃蛇游戏

    编程总是对着一个黑窗口,可以说是非常乏味了,于是喵喵就翻出来了以前用easyx图形库做图形界面的贪吃蛇游戏. 不过大家只是当做提高编程的乐趣来学习吧,想进一步做的话可以学习QT,还有其他的框架. 这是 ...

  5. CocoStuff—基于Deeplab训练数据的标定工具【三、标注工具的使用】

    一.说明 本文为系列博客第三篇,主要展示COCO-Stuff 10K标注工具的使用过程及效果. 本文叙述的步骤默认在完成系列文章[二]的一些下载数据集.生成超像素处理文件的步骤,如果过程中有提示缺少那 ...

  6. django1.11入门

    快速安装指南¶ 在使用Django之前,您需要安装它.我们有 完整的安装指南,涵盖所有可能性; 本指南将指导您进行简单,最小化的安装,在您完成介绍时可以正常工作. 安装Python¶ 作为一个Pyth ...

  7. Cocos2d-x的跨平台原理

    为了充分发挥硬件性能,手机游戏通常使用Native App开发模式,这就造成开发商要为iOS 和Android平台用户开发不同的应用,无论是产品迭代还是运行维护都非常麻烦.Cocos2d-x在iOS, ...

  8. kali获得windows的shell后乱码

    输入 chcp 65001

  9. lscpi命令详解

    基础命令学习目录 lspci是一个用来查看系统中所有PCI总线以及连接到该总线上的设备的工具. 命令格式为 lspci -参数 (不加参数显示所有硬件设备) 至于有哪些参数及其详细用法可以看下这篇博客 ...

  10. eclipse自动生成uml

    见如下链接: https://blog.csdn.net/zyf_balance/article/details/44937197 若eclipse无法生成,可以安装myeclipse使用自带的方法: ...