安装 SQL Server 2017,并在 Ubuntu 上创建数据库
安装 SQL Server,并在 Ubuntu 上创建数据库
2017年10月2日 00:00:00 作者 Jason Roth OpenLocalizationService
本主题适用于:noWindows 上的 SQL ServeryesLinux 上的 SQL ServernoAzure SQL 数据库noAzure SQL 数据仓库no并行数据仓库
在此快速入门教程中,你首先将安装 SQL Server 2017 Ubuntu 16.04。 然后通过连接sqlcmd创建第一个数据库和运行查询。
提示
本教程需要用户输入和 internet 连接。 如果你有兴趣无人参与或脱机安装过程,请参阅在 Linux 上的 SQL Server 安装指南。
先决条件
你必须具有的 Ubuntu 机至少 3.25 GB的内存。
若要在您自己的计算机上安装 Ubuntu,请转到http://www.ubuntu.com/download/server。 你还可以在 Azure 中创建 Ubuntu 虚拟机。 请参阅创建和管理 Linux Vm 的 Azure cli。
其他系统要求,请参阅在 Linux 上的 SQL Server 的系统需求。
安装 SQL Server
若要配置 SQL Server 在 Ubuntu 上,在安装终端中运行以下命令mssql server包。
重要
如果你已经安装 CTP 或 RC 版本的 SQL Server 自 2017 年,必须注册一个 GA 存储库之前先删除旧的存储库。 有关详细信息,请参阅从预览存储库的存储库更改到 GA 存储库
导入公共存储库 GPG 密钥:
bash
复制
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
注册 Microsoft SQL Server Ubuntu 存储库:
bash
复制
sudo add-apt-repository "$(curl https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list)"
备注
这是累积更新 (CU) 存储库。 有关你的存储库选项和它们之间的差异的详细信息,请参阅更改源存储库。
运行以下命令,安装 SQL Server:
bash
复制
sudo apt-get update
sudo apt-get install -y mssql-server
运行包安装完成后mssql conf 安装并按照提示操作以设置 SA 密码,并选择你的版本。
bash
复制
sudo /opt/mssql/bin/mssql-conf setup
提示
如果你在本教程中尝试 SQL Server 自 2017 年,自由地授予许可的以下版本: 评估、 开发人员和快速。
备注
请确保为 SA 帐户指定强密码(最少 8 个字符,包括大写和小写字母、十进制数字和/或非字母数字符号)。
配置完成后,请验证服务是否正在运行:
bash
复制
systemctl status mssql-server
如果你计划远程连接,你可能还需要打开防火墙上的 SQL Server TCP 端口 (默认值为 1433年)。
此时,SQL Server 正在您 Ubuntu 的计算机上运行并且已准备好使用 !
安装 SQL Server 命令行工具
若要创建数据库,你需要使用一种工具,可以在 SQL Server 上运行 TRANSACT-SQL 语句进行连接。 以下步骤安装 SQL Server 命令行工具: sqlcmd和bcp。
导入公共存储库 GPG 密钥:
bash
复制
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
注册 Microsoft Ubuntu 存储库:
bash
复制
sudo add-apt-repository "$(curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list)"
更新源列表,然后运行 unixODBC 开发人员包的安装命令:
bash
复制
sudo apt-get update
sudo apt-get install -y mssql-tools unixodbc-dev
为方便起见,添加/opt/mssql-tools/bin/到你路径环境变量。 这使您可以运行工具,而无需指定完整路径。 运行以下命令以修改路径登录会话和交互式/非-登录会话:
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 以运行查询并执行管理和开发任务只在一个工具。 其他工具包括SQL Server Management Studio和Visual Studio Code。
本地连接
以下步骤使用 sqlcmd 本地连接到新的 SQL Server 实例。
使用 SQL Server 名称 (-S),用户名 (-U) 和密码 (-P) 的参数运行 sqlcmd。 在本教程中,用户进行本地连接,因此服务器名称为 localhost。 用户名为 SA,密码是在安装过程中为 SA 帐户提供的密码。
bash
复制
sqlcmd -S localhost -U SA -P '<YourPassword>'
提示
可以在命令行上省略密码,以收到密码输入提示。
提示
如果以后决定进行远程连接,请指定 -S 参数的计算机名称或 IP 地址,并确保防火墙上的端口 1433 已打开。
如果成功,应会显示 sqlcmd 命令提示符:1>。
如果连接失败,请首先尝试根据错误消息诊断问题。 然后查看连接故障排除建议。
创建和查询数据
下面各部分将逐步介绍如何使用 sqlcmd 新建数据库、添加数据并运行简单查询。
新建数据库
以下步骤创建一个名为 TestDB 的新数据库。
在 sqlcmd 命令提示符中,粘贴以下 Transact-SQL 命令以创建测试数据库:
SQL
复制
CREATE DATABASE TestDB
在下一行中,编写一个查询以返回服务器上所有数据库的名称:
SQL
复制
SELECT Name from sys.Databases
前两个命令没有立即执行。 必须在新行中键入 GO 才能执行以前的命令:
SQL
复制
GO
插入数据
接下来创建一个新表 Inventory,然后插入两个新行。
在 sqlcmd 命令提示符中,将上下文切换到新的 TestDB 数据库:
SQL
复制
USE TestDB
创建名为 Inventory 的新表:
SQL
复制
CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)
将数据插入新表:
SQL
复制
INSERT INTO Inventory VALUES (1, 'banana', 150); INSERT INTO Inventory VALUES (2, 'orange', 154);
要执行上述命令的类型 GO:
SQL
复制
GO
选择数据
现在,运行查询以从 Inventory 表返回数据。
通过 sqlcmd 命令提示符输入查询,以返回 Inventory 表中数量大于 152 的行:
SQL
复制
SELECT * FROM Inventory WHERE quantity > 152;
执行命令:
SQL
复制
GO
退出 sqlcmd 命令提示符
要结束 sqlcmd 会话,请键入 QUIT:
SQL
复制
QUIT
从 Windows 进行连接
Windows 上的 SQL Server 工具连接到 Linux 上的 SQL Server 实例,操作方式与连接到任何远程 SQL Server 实例一样。
如果有一台可以连接到 Linux 计算机的 Windows 计算机,请从运行 sqlcmd 的 Windows 命令提示符尝试执行本主题中的相同步骤。 仅验证所使用的是目标 Linux 计算机名称或 IP 地址,而非 localhost,并确保 TCP 端口 1433 已打开。 如果从 Windows 进行连接存在任何问题,请参阅连接故障排除建议。
有关在 Windows 上运行,但连接到 Linux 上的 SQL Server 的其他工具,请参阅:
SQL Server Management Studio (SSMS)
Windows PowerShell
SQL Server Data Tools (SSDT)
后续步骤
有关其他安装方案,请参阅以下资源:
升级 了解如何升级 Linux 版 SQL Server 的现有安装
卸载 在 Linux 上卸载 SQL Server
无人参与安装 了解如何编写无提示安装脚本
脱机安装 了解如何手动下载脱机安装程序包
若要了解连接和管理 SQL Server 的其他方法,请参阅 Visual Studio Code 和 SQL Server Management Studio。
若要详细了解如何编写 Transact-SQL 语句和查询,请参阅教程:编写 Transact-SQL 语句。