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

  • 来源:微软docs
  • 2018/07/16
  • 作者 全部

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

在本快速入门,SQL Server 2017 或 SQL Server 2019 CTP 2.0 上安装 Ubuntu 16.04。 然后使用连接sqlcmd创建第一个数据库和运行查询。

 提示

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

必要條件

您必须具有的 Ubuntu 16.04 计算机至少 2 GB的内存。

若要在自己的计算机上安装 Ubuntu,请转到 http://www.ubuntu.com/download/server 。 此外可以在 Azure 中创建 Ubuntu 虚拟机。请参阅创建和管理 Linux Vm 使用 Azure CLI。

 备注

在此期间,适用于 Linux 的 Windows 子系统作为安装目标不支持 Windows 10。

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

安装 SQL Server

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

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

    bash复制

    wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
    
  2. 注册 Microsoft SQL Server Ubuntu 存储库:

    bash复制

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

     提示

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

    bash复制

    sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-preview.list)"
    
  3. 运行以下命令,安装 SQL Server:

    bash复制

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

    bash复制

    sudo /opt/mssql/bin/mssql-conf setup
    

     提示

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

     备注

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

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

    bash复制

    systemctl status mssql-server
    
  6. 如果你打算远程连接,你可能还需要打开防火墙上的 SQL Server TCP 端口 (默认值为 1433)。

在此情况下,SQL Server 在 Ubuntu 计算机上运行并已准备好使用 !

安装 SQL Server 命令行工具

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

使用以下步骤来安装mssql 工具Ubuntu 上。

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

    bash复制

    curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
    
  2. 注册 Microsoft Ubuntu 存储库。

    bash复制

    curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
    
  3. 更新源列表,并使用 unixODBC 开发人员包运行安装命令。

    bash复制

    sudo apt-get update 
    sudo apt-get install mssql-tools unixodbc-dev
    

     备注

    若要更新到最新版mssql 工具运行以下命令:

    bash复制

    sudo apt-get update 
    sudo apt-get install mssql-tools 
    
  4. 可选: 添加/opt/mssql-tools/bin/到你路径bash shell 中的环境变量。

    若要使sqlcmd/bcp可从登录会话的 bash shell 访问修改你路径中 ~/.bash_profile文件使用以下命令:

    bash复制

    echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
    

    若要使sqlcmd/bcp能从交互式/非登录会话,bash shell 访问修改路径中 ~/.bashrc文件使用以下命令:

    bash复制

    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 ''
    

     提示

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

     提示

    如果以后决定进行远程连接,请指定 -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 的其他工具,请参阅:

  • SQL Server Management Studio (SSMS)
  • Windows PowerShell
  • SQL Server Data Tools (SSDT)

其他部署方案

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

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

 提示

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

后续步骤

 

你可能感兴趣的:(数据库SQL)