安装mssql-server
- 打开终端并更新apt-get:
sudo apt-get update
- 添加Microsoft库的密钥:SQL Server 2019
Enterprise: HMWJ3-KY3J2-NMVD7-KG4JR-X2G8G - Enterprise Core:2C9JR-K3RNG-QD4M4-JQ2HR-8468J
- Strandard:PMBDC-FXVM3-T777P-N4FY8-PKFF4
- Web: 33QQK-WWQNB-G6T46-C86YB-TX2PH
SQL Server 2017
Enterprise: TDKQD-PKV44-PJT4N-TCJG2-3YJ6B - Enterprise Core:6GPYM-VHN83-PHDM2-Q9T2R-KBV83
- Strandard: PHDV4-3VJWD-N7JVPFGPKY-XBV89
- Web: WV79P7K6YG-T7QFN-M3WHF-37BXC
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
- 添加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
- 安装过程中会要求您设置SA用户的密码。请记住此密码,您需要它连接数据库。
配置mssql-server
- 启动SQL Server:
sudo systemctl start mssql-server
- 确定SQL Server在启动时自动启动:
sudo systemctl enable mssql-server
- 运行配置向导:
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
- 更新apt-get并安装sqlcmd:
sudo apt-get update
sudo apt-get install -y mssql-tools unixodbc-dev
- 将环境变量PATH添加到mssql-tools:
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
- 测试安装是否成功,需要输入您在安装mssql-server时设置的密码:
sqlcmd -S localhost -U SA -P '<YourPassword>'
- 在sqlcmd环境中,您可以运行任何SQL Server T-SQL命令。例如:
SELECT Name FROM sys.databases
GO
上述命令将返回当前安装的所有数据库的名称列表。
linux SQL2019 代理SQLServerAgent启动
sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled true
sudo systemctl restart mssql-server
sudo systemctl restart mssql-server
示例1:创建新的数据库和表格
- 在sqlcmd环境中创建新的数据库:
CREATE DATABASE MyDatabase
GO
- 切换到新的数据库:
USE MyDatabase
GO
- 创建表格:
CREATE TABLE dbo.MyTable (Id INT, Name NVARCHAR(50), Age INT)
GO
- 插入数据:
INSERT INTO dbo.MyTable (Id, Name, Age) VALUES (1, 'Alice', 25)
INSERT INTO dbo.MyTable (Id, Name, Age) VALUES (2, 'Bob', 30)
GO
示例2:查询数据
- 查询MyTable表格中的所有记录:
SELECT * FROM dbo.MyTable
GO
- 查询年龄大于27的人:
SELECT Name, Age FROM dbo.MyTable WHERE Age > 27
GO