我无法连接到 ms sql 实例 - 内部

我无法连接到 ms sql 实例 - 内部

我使用的平台和软件版本如下:

Red Hat Enterprise Linux Server release 7.4 (Maipo)
Microsoft SQL Server 2017 (RTM-CU3-GDR) (KB4052987) - 14.0.3015.40 (X64) 
Dec 22 2017 16:13:22 
Copyright (C) 2017 Microsoft Corporation Express Edition (64-bit) on
Windows Server 2012 R2 Standard 6.3 <X64> (Build 9600:) (Hypervisor)

我在 Google 上搜索了很多答案,但还没有找到任何解决方案。我无法RDS instance having MS SQL instance通过 Linux 连接。

如果我尝试,它会显示以下错误:

[ec2-user@ip-~]$ sqlcmd -H mssqldb.xxxxxxxxxxxxxx.com -P 1433
                        -U userXXXXX -P aXXXXXX
                        -Q 'SELECT TOP 1 [n] FROM [dbbase2].[dbo].[table_people]'

Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server :
               Login timeout expired.
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server :
               TCP Provider: Error code 0x2749.
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server :
               A network-related or instance-specific error has occurred while
               establishing a connection to SQL Server. The server is not found
               or not accessible. Check if instance name is correct and if SQL
               Server is configured to allow remote connections. For more
               information see SQL Server Books Online.

[ec2-user@ip- ~]$  Check if instance name is correct and if SQL Server is
                   configured to allow remote connections.

有人能告诉我这个问题及其解决办法吗?

谢谢。

答案1

我遇到了同样的错误。这是因为我使用-H mssqlserver-S mysqlserver

这对我有用

sqlcmd -U sa -S mssqlserver -P secret

在问题中,该-P选项用于港口密码,但仅支持密码。

如果要使用不同于的端口1433,则将其与主机名一起传递

sqlcmd -U sa -S mssqlserver,1444 -P secret

sqlcmd安装说明可以在以下位置找到 https://docs.microsoft.com/en-us/sql/tools/sqlcmd-utility?view=sql-server-ver15

如果有人关心 Emacs Org-babel

#+HEADER: :results table :engine mssql :dbhost mssqlserver :database master :dbuser sa :dbpassword secret
#+begin_src sql
SELECT name, database_id, create_date
FROM sys.databases;
#+end_src

在发现

答案2

查看

telnet mssqldb.xxxxxxxxxxxxxx.com 1433 

应该打开与端口的连接。

确保默认实例存在(不是命名实例),否则在命令中提供实例名称。

答案3

对我来说,它使用了不同的端口 1434。
我必须使用逗号将其附加到连接字符串中的服务器名称:

sqlcmd -S SERVERNAME,1434 -U sa -P 'MySecret'

相关内容