ubuntu18安装mssql-server

安装mssql-server

  1. 打开终端并更新apt-get:
sudo apt-get update
  1. 添加Microsoft库的密钥:SQL Server 2019
    Enterprise: HMWJ3-KY3J2-NMVD7-KG4JR-X2G8G
  2. Enterprise Core:2C9JR-K3RNG-QD4M4-JQ2HR-8468J
  3. Strandard:PMBDC-FXVM3-T777P-N4FY8-PKFF4
  4. Web: 33QQK-WWQNB-G6T46-C86YB-TX2PH
    SQL Server 2017
    Enterprise: TDKQD-PKV44-PJT4N-TCJG2-3YJ6B
  5. Enterprise Core:6GPYM-VHN83-PHDM2-Q9T2R-KBV83
  6. Strandard: PHDV4-3VJWD-N7JVPFGPKY-XBV89
  7. Web: WV79P7K6YG-T7QFN-M3WHF-37BXC
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
  1. 添加Microsoft Ubuntu存储库:
sudo add-apt-repository "$(curl https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list)"
  • 如果您使用的是18.04版本,则将mssql-server-2017更改为mssql-server-2019。
  • 继续更新apt-get并安装mssql-server:
sudo apt-get update
sudo apt-get install -y mssql-server
  1. 安装过程中会要求您设置SA用户的密码。请记住此密码,您需要它连接数据库。

配置mssql-server

  1. 启动SQL Server:
sudo systemctl start mssql-server
  1. 确定SQL Server在启动时自动启动:
sudo systemctl enable mssql-server
  1. 运行配置向导:
sudo /opt/mssql/bin/sqlservr-setup
  • 在Ubuntu 18.04上,该命令应为:sudo /opt/mssql/bin/mssql-conf setup。
  • 选择接受许可协议并配置SQL Server端口。默认端口为1433。
  • 重新启动SQL Server:
sudo systemctl restart mssql-server

安装sqlcmd

  1. 更新apt-get并安装sqlcmd:
sudo apt-get update
sudo apt-get install -y mssql-tools unixodbc-dev
  1. 将环境变量PATH添加到mssql-tools:
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
  1. 测试安装是否成功,需要输入您在安装mssql-server时设置的密码:
sqlcmd -S localhost -U SA -P '<YourPassword>'
  1. 在sqlcmd环境中,您可以运行任何SQL Server T-SQL命令。例如:
SELECT Name FROM sys.databases
GO

上述命令将返回当前安装的所有数据库的名称列表。

linux SQL2019 代理SQLServerAgent启动

示例1:创建新的数据库和表格

  1. 在sqlcmd环境中创建新的数据库:
CREATE DATABASE MyDatabase
GO
  1. 切换到新的数据库:
USE MyDatabase
GO
  1. 创建表格:
CREATE TABLE dbo.MyTable (Id INT, Name NVARCHAR(50), Age INT)
GO
  1. 插入数据:
INSERT INTO dbo.MyTable (Id, Name, Age) VALUES (1, 'Alice', 25)
INSERT INTO dbo.MyTable (Id, Name, Age) VALUES (2, 'Bob', 30)
GO

示例2:查询数据

  1. 查询MyTable表格中的所有记录:
SELECT * FROM dbo.MyTable
GO
  1. 查询年龄大于27的人:
SELECT Name, Age FROM dbo.MyTable WHERE Age > 27
GO