从hometead vagrant连接主机的SQL Server 2017
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从hometead vagrant连接主机的SQL Server 2017相关的知识,希望对你有一定的参考价值。
我正在尝试从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-ACQESMSSQL2017 -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-ACQESMSSQL2017 -U sa -P Asdf1234 -Q "sp_databases"
在前者中,您使用的是IP,但没有实例名称。
尝试:
sqlcmd -S 10.0.2.2MSSQL2017 -U sa -P 'password' -Q "sp_databases"
另外:确保SQL网络配置中的TCP/IP is enabled。
验证SQL Server Browser是否正在运行。
允许SQL Server属性中的远程连接。
将SQL网络配置锁定到所有适配器上的端口1433,并禁用动态端口(然后重新启动服务)。
以上是关于从hometead vagrant连接主机的SQL Server 2017的主要内容,如果未能解决你的问题,请参考以下文章
markdown 从主机连接Vagrant VM中的MySQL数据库
在 Windows 7 主机上使用活动 *** 连接启动时,vagrant 配置的 virtualbox 无法访问互联网