我正在尝试使用sqlcmd来执行一些SQL脚本。
使用一个简单的查询testing命令,如:
sqlcmd -S HOSTNAME -d MYDATABASE -Q 'SELECT Names FROM Customers'
sqlcmd似乎没有任何尝试连接到服务器,因为它显示此消息:
Sqlcmd:错误:连接失败。
- 如果群集已被销毁,我怎样才能卸载群集SQL实例?
- 在SQL Server 2000群集环境中添加逻辑驱动器
- SQL服务器定期断开连接
- MSSQL2008-R2预定作业无限循环
- Windows 7备份投诉它不能备份两个不存在的文件夹
SQL本机客户端安装不正确。 要解决此问题,请运行SQL Server安装程序
本地客户端大概是作为SQL Server安装程序的一部分进行安装的,可能是正确的。 我实际上在任何安装了SQL Server的机器上都会得到这个消息,试图使用sqlcmd,所以这不是安装被破坏的问题。
不幸的是,这个消息真的没有告诉我这个问题,所以我不知道真正的问题是什么。 我知道SQL本机客户端工作正常,因为VBScript能够对数据库执行SQL查询。
是否有一些额外的configuration需要使用sqlcmd?
我有这样的感觉,你的连接错误是服务器上的防火墙问题。 在服务器计算机上的Windows防火墙中,请确保TCP端口1433(或您select的那个)为传入连接打开。 如果您愿意,也可以约束SQL Server服务的规则,即\ MSSQL \ Binn \ sqlservr.exe。
端口不是由安装过程打开,也没有预定义的规则。 如果使用dynamic端口,则还必须为SQL Server浏览器打开UDP端口1434。
通过适当的防火墙调整,您应该能够连接。 我还想提到,在我的安装(SQL Server 2012),我不得不使用双引号的查询; 单引号导致一个讨厌的错误消息,如“意外的论点”。
sqlcmd -S HOSTNAME -d MYDATABASE -Q "SELECT Names FROM Customers"