连接到SQL Server时突然收到“登录超时过期”错误

时间:2019-03-21 21:06:02

标签: sql-server sql-server-2008-r2

其他人问了这个问题,但是我没有找到一个专门解决我所遇到的问题或解决该问题的答案。所以我要发布问题和答案。

几天前,我有几个自动化脚本,这些脚本连接到SQL Server并导出一些数据,突然停止工作。他们已经运行了7年了,所以这很奇怪。这两个脚本使用不同的方法进行连接。一个使用Perl库,另一个使用[]命令。但是两者都得到了相同的错误。为了简洁起见,我仅显示bcp命令。这些都在Windows Server 2008和SQL Server 2008 R2 v10.50上运行。这就是我正在运行的:

bcp

这是我得到的错误:

  

SQLState = 08001,NativeError = 10061
  错误= [Microsoft] [SQL Server Native Client 10.0] TCP Provider:无法建立连接,因为目标计算机主动拒绝了它。

     

SQLState = 08001,NativeError = 10061
  错误= [Microsoft] [SQL Server本机客户端10.0]建立与SQL Server的连接时发生了与网络相关或特定于实例的错误。找不到服务器或无法访问服务器。检查实例名称是否正确以及SQL Server是否配置为允许远程连接。有关更多信息,请参见SQL Server联机丛书。

     

SQLState = S1T00,NativeError = 0
  错误= [Microsoft] [SQL Server Native Client 10.0]登录超时已过期

1 个答案:

答案 0 :(得分:0)

解决方案非常简单。我刚刚在服务器名称中添加了端口号(将"C:\Program Files\Microsoft SQL Server\100\Tools\Binn\bcp.exe" "<my query>" queryout "<output file name>" -T -S MYSERVER -c -k 更改为MYSERVER)。所以我最后的MYSERVER,1433命令如下所示:

bcp

我不确定包括端口在内需要进行哪些更改。但这就是全部。

这是默认端口有点奇怪。您会认为"C:\Program Files\Microsoft SQL Server\100\Tools\Binn\bcp.exe" "<my query>" queryout "<output file name>" -T -S MYSERVER,1433 -c -k 将使用它而无需显式设置它。但是,这可能只是一些奇怪的服务器配置,突然需要该端口。

相关问题