从hometead vagrant连接主机的SQL Server 2017

问题描述 投票:0回答:1

我正在尝试从Laravel vagrant homestead连接我的本地/主机SQL Server。我一直在谷歌搜索连接主机的数据库安装不同的PHP包,但到目前为止没有运气。我想我会在这一点上删除PHP,并尝试使用sqlcmd在宅基中建立连接。

所以,我在宅基地安装了sqlcmd,并尝试执行以下命令连接到主机的数据库。

sqlcmd -S 10.0.2.2,1433 -U sa -P 'password' -Q "sp_databases"

但是,我收到以下错误:

Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Client unable to establish connection because an error was encountered during handshakes before login. Common causes include client attempting to connect to an unsupported version of SQL Server, server too busy to accept new connections or a resource limitation (memory or maximum allowed connections) on the server..
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : TCP Provider: Error code 0x2746.
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Client unable to establish connection.
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Client unable to establish connection due to prelogin failure.

但是,如果我在主机上使用sqlcmd并执行以下命令,则可以访问数据库。

sqlcmd -S LAPTOP-ACQES\MSSQL2017 -U sa -P Asdf1234 -Q "sp_databases"

在我的Homestead.yaml中,我设置了以下端口转发:

ports:
    - send: 1433
      to: 1433
sql-server laravel vagrant homestead
1个回答
0
投票

你说这不起作用:

sqlcmd -S 10.0.2.2,1433 -U sa -P 'password' -Q "sp_databases"

但这样做:

sqlcmd -S LAPTOP-ACQES\MSSQL2017 -U sa -P Asdf1234 -Q "sp_databases"

在前者中,您使用的是IP,但没有实例名称。

尝试:

sqlcmd -S 10.0.2.2\MSSQL2017 -U sa -P 'password' -Q "sp_databases"

另外:确保SQL网络配置中的TCP/IP is enabled

验证SQL Server Browser是否正在运行。

允许SQL Server属性中的远程连接。

将SQL网络配置锁定到所有适配器上的端口1433,并禁用动态端口(然后重新启动服务)。

© www.soinside.com 2019 - 2024. All rights reserved.