从 homestead vagrant 连接主机的 SQL Server 2017
Connect host machine's SQL Server 2017 from homestead vagrant
我正在尝试从 Laravel vagrant homestead 连接我的 local/host 机器 SQL 服务器。我整天都在谷歌搜索,试图连接主机的数据库,安装不同的 PHP 包,但到目前为止还没有成功。我想此时我会删除 PHP 并尝试使用 sqlcmd 在宅基地内建立连接。
所以,我已经在homestead安装了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
你说这个不行:
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 服务器浏览器是 运行。
在 SQL 服务器属性中允许远程连接。
将SQL网络配置锁定到所有适配器上的端口 1433,并禁用动态端口(然后重新启动服务)。
我正在尝试从 Laravel vagrant homestead 连接我的 local/host 机器 SQL 服务器。我整天都在谷歌搜索,试图连接主机的数据库,安装不同的 PHP 包,但到目前为止还没有成功。我想此时我会删除 PHP 并尝试使用 sqlcmd 在宅基地内建立连接。
所以,我已经在homestead安装了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
你说这个不行:
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 服务器浏览器是 运行。
在 SQL 服务器属性中允许远程连接。
将SQL网络配置锁定到所有适配器上的端口 1433,并禁用动态端口(然后重新启动服务)。