连接到 MSSQL
为了真正从 Linux 连接到服务器,我们需要安装 mssql-tools 包,它来自与我们刚刚设置的不同的存储库。
可以在这里找到:https://packages.microsoft.com/config/ubuntu/16.04/prod.list
首先,我们将下载 prod.list 文件的副本并将其放入 /etc/apt/sources.list.d 目录中。
jack@onitroad:~# wget https://packages.microsoft.com/config/ubuntu/16.04/prod.list -O /etc/apt/sources.list.d/pord.list jack@onitroad:~# apt-get update
我们现在可以继续安装 mssql-tools 包,如下所示。
jack@onitroad:~# apt-get install mssql-tools -y
安装完成后,我们可以使用 sqlcmd 命令与数据库进行交互。
要查看如何运行 sqlcmd,只需使用 -?帮助的选项。
不幸的是,当我们为密码指定 -P 选项时,似乎必须在命令行中提供密码,并且没有稍后提示输入的选项。
请记住,密码将存储在以这种方式运行的 bash 历史记录中。
jack@onitroad:~# sqlcmd -U SA -P password 1> create database test; 2> go 1> use test; 2> go Changed database context to 'test'. 1> create table websites(domain varchar(255)); 2> go 1> insert into websites (domain) 2> values ('onitroad.com'); 3> go (1 rows affected) 1> select domain 2> from websites; 3> go domain onitroad.com (1 rows affected)
在 Ubuntu 16.10 中安装 MSSQL
首先,我们将设置存储库文件,Microsoft 在此处为 Ubuntu 提供此文件的副本:https://packages.microsoft.com/config/ubuntu/16.04/mssql-server.list
我们将使用 wget 命令将此文件复制到 /etc/apt/sources.list.d 目录,以便我们可以使用 apt-get 使用它。
在此之后,我们运行 'apt-get update' 以便将包索引文件与我们刚刚添加的新源同步。
jack@onitroad:~# wget https://packages.microsoft.com/config/ubuntu/16.04/mssql-server.list -O /etc/apt/sources.list.d/mssql-server.list jack@onitroad:~# apt-get update
https://packages.microsoft.com/ubuntu/16.10/mssql-server/ 上的 16.10 目录是空的,所以我在这里使用了 16.04 文件,这似乎工作得很好。
现在存储库文件已就位,安装就像运行以下命令一样简单。
jack@onitroad:~# apt-get install mssql-server -y ... +-------------------------------------------------------------------+ | Please run /opt/mssql/bin/sqlservr-setup to complete the setup of | | Microsoft(R) SQL Server(R). | +-------------------------------------------------------------------+
安装完成后,我们建议运行 /opt/mssql/bin/sqlservr-setup bash 脚本来完成安装过程。
在我的第一次安装尝试中,我收到以下错误,因为我的虚拟机仅使用 2GB 内存运行,因此在继续之前请确保我们有足够的内存。
sqlservr: This program requires a machine with at least 3250 megabytes of memory. Microsoft(R) SQL Server(R) setup failed with error code 1.
一旦我们有足够的可用内存,我们就可以继续。
jack@onitroad:~# /opt/mssql/bin/sqlservr-setup Microsoft(R) SQL Server(R) Setup You can abort setup at anytime by pressing Ctrl-C. Start this program with the --help option for information about running it in unattended mode. The license terms for this product can be downloaded from http://go.microsoft.com/fwlink/?LinkId=746388 and found in /usr/share/doc/mssql-server/LICENSE.TXT. Do you accept the license terms? If so, please type "YES": YES Please enter a password for the system administrator (SA) account: Please confirm the password for the system administrator (SA) account: Setting system administrator (SA) account password... Do you wish to start the SQL Server service now? [y/n]: y Do you wish to enable SQL Server to start on boot? [y/n]: y Created symlink /etc/systemd/system/multi-user.target.wants/mssql-server.service â /lib/systemd/system/mssql-server.service. Created symlink /etc/systemd/system/multi-user.target.wants/mssql-server-telemetry.service â /lib/systemd/system/mssql-server-telemetry.service. Setup completed successfully.
就是这样,Microsoft SQL Server 现在成功运行并侦听 TCP 端口 1434 上的流量。
jack@onitroad:~# systemctl status mssql-server â mssql-server.service - Microsoft(R) SQL Server(R) Database Engine Loaded: loaded (/lib/systemd/system/mssql-server.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2014-12-30 22:55:23 AEDT; 33s ago Main PID: 4164 (sqlservr) CGroup: /system.slice/mssql-server.service ââ4164 /opt/mssql/bin/sqlservr ââ4201 /opt/mssql/bin/sqlservr jack@onitroad:~# netstat -antp | grep 1434 tcp 0 0 127.0.0.1:1434 0.0.0.0:* LISTEN 4201/sqlservr