无法在 Vagrant 配置脚本中使用 SqlCmd 连接到数据库

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

我正在使用 Vagrant 来创建一个可重复的工作环境。在我的 vagrantfile 中,我有以下内容:

config.vm.provision :shell, path: "./dependencies.ps1"

config.vm.provision :shell, reboot: true

config.vm.provision :shell, path: "./sql.ps1"

dependency.ps1 运行以下内容:

choco install sql-server-express -o -ia "'/IACCEPTSQLSERVERLICENSETERMS /Q /ACTION=install /INSTANCEID=MSSQLSERVER /INSTANCENAME=MSSQLSERVER /UPDATEENABLED=FALSE'" -y

sql.ps1 现阶段有以下内容(只是为了测试是否可以连接):

SqlCmd -E -S LOCALDEV -Q "SELECT name FROM master.sys.databases"

结果是:

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. Server is not found or not accessible

当 SSMS 安装在来宾上时,它可以使用服务器名称 LocalDev 进行连接,不会出现任何问题。同样,在登录时运行 sql.ps1 脚本也可以。这是有道理的,SQL Server 实例设置为使用 Windows 身份验证,并且作为登录用户我拥有适当的权限。然而,这对我的 vagrantfile 没有帮助,它需要配置开箱即用的工作所需的一切(没有双关语)。

我尝试了各种可能的服务器名称组合,包括 localhost、localhost、1433、LocalDev\MSSQLSERVER、LocalDev\MSSQLSERVER、1433 等,但无济于事。

非常感谢任何建议。

sql-server powershell vagrant sqlcmd
© www.soinside.com 2019 - 2024. All rights reserved.