![连接到 sqlserver 实例时出现问题](https://linux22.com/image/1205660/%E8%BF%9E%E6%8E%A5%E5%88%B0%20sqlserver%20%E5%AE%9E%E4%BE%8B%E6%97%B6%E5%87%BA%E7%8E%B0%E9%97%AE%E9%A2%98.png)
如果我尝试像这样连接到 sqlcmd:
sqlcmd -S 127.0.0.1:1433 -U SA -P 通过
我明白了。
Sqlcmd:错误:Microsoft ODBC Driver 17 for SQL Server:登录超时已过期。Sqlcmd:错误:Microsoft ODBC Driver 17 for SQL Server:TCP 提供程序:错误代码 0x2AF9。Sqlcmd:错误:Microsoft ODBC Driver 17 for SQL Server:在与 SQL Server 建立连接时发生与网络相关或特定于实例的错误。找不到服务器或无法访问服务器。检查实例名称是否正确以及 SQL Server 是否配置为允许远程连接。有关更多信息,请参阅 SQL Server 联机丛书。
我担心我的驱动程序没有正确安装,我已经在谷歌上阅读了有关此问题的信息,但没有任何效果,然而
nc -z -v -w5 127.0.0.1 1433 连接到127.0.0.1 1433 端口 [tcp/ms-sql-s] 成功!
..and tsql -S 127.0.0.1 -U SA 密码: 区域设置为“es_ES.UTF-8” 区域设置字符集为“UTF-8” 使用默认字符集“UTF-8” 1> ..也有效。
systemctl 状态 mssql-server --no-pager
$ systemctl status mssql-server --no-pager ● mssql-server.service - Microsoft SQL Server 数据库引擎 已加载:已加载(/lib/systemd/system/mssql-server.service;已启用;供应商预设:已启用) 活动:活动(正在运行)自 2019-08-08 星期四 18:19:10 CEST;3 小时 21 分钟前 文档:https://docs.microsoft.com/en-us/sql/linux 主 PID: 25809 (sqlservr) 任务: 154 CGroup: /system.slice/mssql-server.service ═─25809 /opt/mssql/bin/sqlservr └─25856 /opt/mssql/bin/sqlservr
08 18:19:59 前 dpinalopez68-SATELLITE-C50D-A-12R sqlservr[25809]: [71B blob 数据] 08 18:19:59 前 dpinalopez68-SATELLITE-C50D-A-12R sqlservr[25809]: [162B blob 数据] 08 18:19:59 前 dpinalopez68-SATELLITE-C50D-A-12R sqlservr[25809]: [124B blob 数据] 08 19:03:34 前 dpinalopez68-SATELLITE-C50D-A-12R sqlservr[25809]: [96B blob 数据] 08 19:03:34 dpinalopez68-SATELLITE-C50D-A-12R sqlservr[25809]: [74B blob 数据] 08 19:03:34 dpinalopez68-SATELLITE-C50D-A-12R sqlservr[25809]: [68B blob 数据] 08 19:03:35 dpinalopez68-SATELLITE-C50D-A-12R sqlservr[25809]: [136B blob 数据] 08 19:03:35 dpinalopez68-SATELLITE-C50D-A-12R sqlservr[25809]: [111B blob 数据] 08 19:03:35 dpinalopez68-SATELLITE-C50D-A-12R sqlservr[25809]: [137B blob 数据] 08 19:03:35 前 dpinalopez68-SATELLITE-C50D-A-12R sqlservr[25809]: [112B blob 数据]
....最后
sudo lsof -i -P -n | grep LISTEN [sudo] 检查 dpinalopez68:systemd-r 909 systemd-resolve 13u IPv4 22378 0t0 TCP 127.0.0.53:53 (LISTEN) Plex\x20M 1908 root 60u IPv6 31648 0t0 TCP *:32400 (LISTEN) Plex\x20M 1908 root 61u IPv4 31650 0t0 TCP 127.0.0.1:32401 (LISTEN) smbd 2022 root 32u IPv6 32325 0t0 TCP *:445 (LISTEN) smbd 2022 root 33u IPv6 32326 0t0 TCP *:139 (LISTEN) smbd 2022 根 34u IPv4 32327 0t0 TCP *:445(监听) smbd 2022 根 35u IPv4 32328 0t0 TCP *:139(监听) Plex\x20S 2191 根 7u IPv4 34705 0t0 TCP 127.0.0.1:38271(监听) Plex\x20D 3555 根 15u IPv4 38184 0t0 TCP *:1573(监听) Plex\x20D 3555 根 33u IPv4 37458 0t0 TCP *:32469(监听) Plex\x20T 3574 根 13u IPv4 37432 0t0 TCP 127.0.0.1:32600(监听) cupsd 4881 root 6u IPv6 47176 0t0 TCP [::1]:631(监听) cupsd 4881 root 7u IPv4 47177 0t0 TCP 127.0.0.1:631(监听) 代码 14120 dpinalopez68 78u IPv4 441836 0t0 TCP 127.0.0.1:56103(监听) sqlservr 25856 mssql 171u IPv6 249437 0t0 TCP *:1433(监听) sqlservr 25856 mssql 172u IPv4 249438 0t0 TCP *:1433(监听) sqlservr 25856 mssql 176u IPv6 249441 0t0 TCP [::1]:1434(监听) sqlservr 25856 mssql 179u IPv4 249442 0t0 TCP 127.0.0.1:1434(监听)
任何帮助都值得感激。提前致谢
大卫
答案1
根据这,明确设置端口的正确方法是-S [protocol:]server[instance_name][,port]
,而不是server:port
像你那样。
此外,由于1433
是默认端口,并且在您使用其他方式测试它时,您将其排除在外,您也可以在选项中将其删除sqlcmd
。
我认为情况确实如此Server is not found or not accessible
,因为错误信息中没有提到驱动程序,因此错误的语法导致主机搜索失败。