安装SQL Server并在Red Hat Centos 7上创建数据库

先决条件

您必须具有至少2 GB内存的RHEL 7.3或7.4计算机。

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

如果您以前安装了SQL Server 2017的CTP或RC版本,则必须先删除旧存储库,然后再执行这些步骤。有关更多信息,请参阅为SQL Server 2017和2019配置Linux存储库

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

安装SQL Server

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

  1. 下载Microsoft SQL Server 2017 Red Hat存储库配置文件:sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo  如果要尝试SQL Server 2019,则必须注册Preview(2019)存储库。对SQL Server 2019安装使用以下命令:庆典复制sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-preview.repo
  2. 运行以下命令以安装SQL Server:sudo yum install -y mssql-server
  3. 程序包安装完成后,运行mssql-conf setup并按照提示设置SA密码并选择您的版本。庆典复制sudo /opt/mssql/bin/mssql-conf setup  小费以下SQL Server 2017版本是免费许可的:Evaluation,Developer和Express。 注意确保为SA帐户指定强密码(最小长度为8个字符,包括大写和小写字母,基数为10的数字和/或非字母数字符号)。
  4. 配置完成后,验证服务是否正在运行:庆典复制systemctl status mssql-server
  5. 要允许远程连接,请在RHEL上的防火墙上打开SQL Server端口。默认的SQL Server端口是TCP 1433.如果您使用FirewallD作为防火墙,则可以使用以下命令:庆典复制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存储库配置文件。庆典复制sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo
  2. 如果您安装了以前版本的mssql-tools,请删除所有旧的unixODBC软件包。庆典复制sudo yum remove unixODBC-utf16 unixODBC-utf16-devel
  3. 运行以下命令以使用unixODBC开发包安装mssql-tools。庆典复制sudo yum install -y mssql-tools unixODBC-devel
  4. 为方便起见,请添加/opt/mssql-tools/bin/PATH环境变量中。这使您可以在不指定完整路径的情况下运行工具。运行以下命令修改登录会话和交互/非登录会话的PATH:庆典复制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帐户提供的密码。庆典复制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 Data Studio跨平台GUI数据库管理实用程序。
MSSQL-CLI用于运行Transact-SQL命令的跨平台命令行界面。
Visual Studio代码跨平台GUI代码编辑器,使用mssql扩展运行Transact-SQL语句。

从Windows连接

Windows上的SQL Server工具以与连接到任何远程SQL Server实例相同的方式连接到Linux上的SQL Server实例。

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

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

其他部署方案

对于其他安装方案,请参阅以下资源:

升级了解如何在Linux上升级现有的SQL Server安装
卸载在Linux上卸载SQL Server
无人值守安装了解如何在没有提示的情况下编写安装脚本
离线安装了解如何手动下载脱机安装包

转载自微软官网https://docs.microsoft.com/zh-cn/sql/sql-server/editions-and-components-of-sql-server-2017?view=sql-server-2017

发表评论

电子邮件地址不会被公开。 必填项已用*标注