万事开头难,只要开头能做好,剩下的就可以按照手册来操作,在使用sqlcmd时,在控制台里输入sqlcmd -s 服务名,遇到SQL Server 2008 sqlcmd 的错误,错误如下:
HResult 0x102,级别 16,状态 1
TCP 提供程序: 超时错误 [258].
Sqlcmd: 错误: Microsoft SQL Server Native Client 10.0 : 由于预登录响应中的延迟,无法完成登录过程。
Sqlcmd: 错误: Microsoft SQL Server Native Client 10.0 : 登录超时已过期。
详细排查可以查看微软:http://msdn.microsoft.com/zh-cn/library/ms190181.aspx
TCP 提供程序: 超时错误 [258].
Sqlcmd: 错误: Microsoft SQL Server Native Client 10.0 : 由于预登录响应中的延迟,无法完成登录过程。
Sqlcmd: 错误: Microsoft SQL Server Native Client 10.0 : 登录超时已过期。
详细排查可以查看微软:http://msdn.microsoft.com/zh-cn/library/ms190181.aspx
我的方法是:由于是在单台电脑上,客户端和服务器端在同一台机器上,所以首先检查服务器端的SQL Server 客户端可以正常 运行;然后检查客户端的协议配置和客户端的服务启动情况,最后检查服务名是否正确。
结果是数据库服务名不对导致的错误,经过搜索,找到了,数据库服务名查找方法是: net start|find /i 'SQL' 查找或者在注册表中查找,找到microsoft SQL Server 下的InstanceName键值即可。
我觉得-s 后边的服务名是小写的。在本机上,可以使用sqlcmd -s (local)进入。