KOB*_*KOB 11 sql-server linux connectivity
我对 SQL 和数据库服务器很陌生。我最近一直在使用 SQL Server Express 并在 Windows 上使用 SQL Server Management Studio 访问我的数据库。我现在正在尝试在 Linux 机器上实现类似的设置。
我想在机器上创建一个本地 SQL Server 实例,然后使用SQLectron作为 GUI 客户端来查询我的数据库。我使用的是 Manjaro Linux,所以从 AUR 安装我的软件包。
到目前为止,我已经安装了mssql-server
,mssql-tools
和sqlectron-gui
. 我已运行该sudo /opt/mssql/bin/mssql-conf setup
命令以(我相信)设置本地服务器。执行此操作后,运行该命令会systemctl status mssql-server
返回:
[kev@XPS-Manjaro ~]$ systemctl status mssql-server ? mssql-server.service - Microsoft SQL Server 数据库引擎 已加载:已加载(/usr/lib/systemd/system/mssql-server.service;已启用;供应商预设:已禁用) Active:自 2017-08-23 周三 13:43:49 IST 开始活跃(运行);2 小时 42 分钟前 文档:https://docs.microsoft.com/en-us/sql/linux 主 PID: 9130 (sqlservr) 任务:165 CGroup:/system.slice/mssql-server.service ??9130 /opt/mssql/bin/sqlservr ??9144 /opt/mssql/bin/sqlservr 8 月 23 日 13:43:52 XPS-Manjaro sqlservr[9130]:[145B blob 数据] 8 月 23 日 13:43:52 XPS-Manjaro sqlservr[9130]:[66B blob 数据] 8 月 23 日 13:43:52 XPS-Manjaro sqlservr[9130]:[96B blob 数据] 8 月 23 日 13:43:52 XPS-Manjaro sqlservr[9130]:[100B blob 数据] 8 月 23 日 13:43:52 XPS-Manjaro sqlservr[9130]:[71B blob 数据] 8 月 23 日 13:43:52 XPS-Manjaro sqlservr[9130]:[124B blob 数据] 8 月 23 日 13:49:03 XPS-Manjaro sqlservr[9130]:[156B blob 数据] 8 月 23 日 13:49:03 XPS-Manjaro sqlservr[9130]:[194B blob 数据] 8 月 23 日 13:52:31 XPS-Manjaro sqlservr[9130]:[74B blob 数据] 8 月 23 日 13:52:31 XPS-Manjaro sqlservr[9130]:[199B blob 数据]
我现在正在尝试通过 SQLectron 在以下屏幕上创建到我的服务器的本地连接:
由于我对 SQL Server 的经验很少,我完全不知道从哪里获取所有这些凭据以连接到我的本地服务器。我唯一知道的是我在sudo /opt/mssql/bin/mssql-conf setup
命令中设置的密码。
如何找到服务器名称、主机地址(127.0.0.1?)、端口、域、Unix 套接字路径和用户名?
如果您在运行 mssql-server 服务的同一台机器上运行 GUI,那么您可以使用 localhost 作为地址 (127.0.0.1)。如果您从不同的工作站运行 GUI,则需要运行 mssql-server 服务的机器的 IPv4 地址。您可以通过ifconfig
从 Linux 终端提示符运行来获得它。示例输出ifconfig
:
eth0:标志=4163 mtu 1500 以太 00:15:5d:89:45:01 txqueuelen 1000(以太网) RX 数据包 423 字节 137827 (134.5 KiB) RX 错误 0 丢弃 0 溢出 0 帧 0 TX 数据包 0 字节 0 (0.0 B) TX 错误 0 丢弃 0 溢出 0 载波 0 冲突 0 eth1:标志=4163 mtu 1500 inet 192.168.200.11 网络掩码 255.255.255.0 广播 192.168.200.255 inet6 fe80::2f70:9d15:8e7d:16cb prefixlen 64 scopeid 0x20 以太 00:15:5d:89:45:04 txqueuelen 1000(以太网) RX 数据包 20138 字节 2006000 (1.9 MiB) RX 错误 0 丢弃 0 溢出 0 帧 0 TX 数据包 19756 字节 30125657 (28.7 MiB) TX 错误 0 丢弃 0 溢出 0 载波 0 冲突 0 lo:标志=73 mtu 65536 inet 127.0.0.1 网络掩码 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10 循环 txqueuelen 1(本地环回) RX 数据包 3239 字节 361340 (352.8 KiB) RX 错误 0 丢弃 0 溢出 0 帧 0 TX 数据包 3239 字节 361340 (352.8 KiB) TX 错误 0 丢弃 0 溢出 0 载波 0 冲突 0
在上面的输出中,重要的是“inet”地址,在我的例子中是 192.168.200.11。
SQL Server 的默认端口是 1433 - 除非您在 mssql-conf 中选择了不同的端口,否则请使用该端口号。如果您打算通过网络连接到 SQL Server,请确保 Linux 机器上的防火墙允许通过 1433 进行外部连接。
使用sa
作为登录,您通过SQL Server安装过程中指定的密码sudo /opt/mssql/bin/mssql-conf setup
命令。
我会将域和 Unix 套接字路径留空。
连接到实例后,您可能需要配置一个非 sa 帐户。用CREATE LOGIN
语句做到这一点。
仅供参考,如果您愿意,您可以使用 SQL Server Management Studio 连接到 Linux 上的 SQL Server。或者,您可以在此处下载适用于 Linux(以及 Windows 和 Mac)的 Microsoft 本地 GUI 客户端 Azure Data Studio 。