当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 小結SQL Server連接失敗錯誤及解決

MSSQL
系统存储过程sp_MSforeachtable和sp_MSforeachdb使用说明
一些文件未注册导致mssql表文件无法找开的解决方法
用sql获取某字符串中的数字部分的语句
SQL 判断字段类型语句
MSSQL 生成日期列表代码
MSSQL 计算两个日期相差的工作天数的语句
SqlServer 实用操作小技巧集合
sql中all,any,some用法
最常用的SQL语句
SQL语法 分隔符理解小结
sql 服务器知识
隐藏在SQLServer 字段中的超诡异字符解决过程
将备份数据还原到数据库的步骤
SQL Server 高速缓存依赖分析
SQL 多表连接查询实现语句
sql convert函数使用小结
sqlserver2005 行列转换实现方法
跨服务器查询导入数据的sql语句
返回SQL执行时间的存储过程
MSSQL ISQL命令详解

MSSQL 中的 小結SQL Server連接失敗錯誤及解決


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 30 ::
收藏到网摘: n/a

  在使用 SQL Server 的過程中,用戶遇到的最多的問題莫過於連接失敗了。一般而言,有以下兩種連接 SQL Server 的方式,一是利用 SQL Server 自帶的客戶端工具,如企業管理器、查詢分析器、事務探查器等;二是利用用戶自己開發的客戶端程式,如ASP 腳本、VB程式等,客戶端程式中又是利用 ODBC 或者 OLE DB 等連接 SQL Server。下面,我們將就這兩種連接方式,具體談談如何來解決連接失敗的問題。

  一、客戶端工具連接失敗

  在使用 SQL Server 自帶的客戶端工具(以企業管理器為例)連接 SQL Server時,最常見的錯誤有如下一些:

  1、SQL Server 不存在或訪問被拒絕

    ConnectionOpen (Connect())

  




  2、用戶'sa'登錄失敗。原因:未與信任 SQL Server 連接相關聯。

  




  3、超時已過期。

  

 下面我們依次介紹如何來解決這三個最常見的連接錯誤。

  第一個錯誤"SQL Server 不存在或訪問被拒絕"通常是最複雜的,錯誤發生的原因比較多,需要檢查的方面也比較多。一般說來,有以下幾種可能性:

  1、SQL Server名稱或IP地址拼寫有誤;

  2、伺服器端網路配置有誤;

  3、客戶端網路配置有誤。

  要解決這個問題,我們一般要遵循以下的步驟來一步步找出導致錯誤的原因。

  首先,檢查網路物理連接:

   ping <伺服器IP地址>
 
  或者

   ping <伺服器名稱>

  如果 ping <伺服器IP地址> 失敗,說明物理連接有問題,這時候要檢查硬體設備,如網卡、HUB、路由器等。還有一種可能是由於客戶端和伺服器之間安裝有防火牆軟體造成的,比如 ISA Server。防火牆軟體可能會遮罩對 ping、telnet 等的響應,因此在檢查連接問題的時候,我們要先把防火牆軟體暫時關閉,或者打開所有被封閉的端口。

  如果ping <伺服器IP地址> 成功而 ping <伺服器名稱> 失敗,則說明名字解析有問題,這時候要檢查 DNS 服務是否正常。有時候客戶端和伺服器不在同一個局域網裏面,這時候很可能無法直接使用伺服器名稱來標識該伺服器,這時候我們可以使用HOSTS文件來進行名字解析,具體的方法是:

  1、使用記事本打開HOSTS文件(一般情況下位於C:\WINNT\system32\drivers\etc).
'www.knowsky.com
  2、添加一條IP地址與伺服器名稱的對應記錄,如:

    172.168.10.24 myserver

  也可以在 SQL Server 的客戶端網路實用工具裏面進行配置,後面會有詳細說明。

  其次,使用 telnet 命令檢查SQL Server伺服器工作狀態:

   telnet <伺服器IP地址> 1433

  如果命令執行成功,可以看到螢幕一閃之後游標在左上角不停閃動,這說明 SQL Server 伺服器工作正常,並且正在監聽1433端口的 TCP/IP 連接;如果命令返回"無法打開連接"的錯誤資訊,則說明伺服器端沒有啟動 SQL Server 服務,也可能伺服器端沒啟用 TCP/IP 協議,或者伺服器端沒有在 SQL Server 默認的端口1433上監聽。

  接著,我們要到伺服器上檢查伺服器端的網路配置,檢查是否啟用了命名管道,是否啟用了 TCP/IP 協議等等。我們可以利用 SQL Server 自帶的伺服器網路使用工具來進行檢查。

  點擊:程式 -> Microsoft SQL Server -> 伺服器網路使用工具,打開該工具後看到的畫面如下圖所示:

  


  從這裡我們可以看到伺服器啟用了哪些協議。一般而言,我們啟用命名管道以及 TCP/IP 協議。

  點中 TCP/IP 協議,選擇"屬性",我們可以來檢查 SQK Server 服務默認端口的設置,如下圖所示:

  




  一般而言,我們使用 SQL Server 默認的1433端口。如果選中"隱藏伺服器",則意味著客戶端無法通過枚舉伺服器來看到這臺伺服器,起到了保護的作用,但不影響連接。

  檢查完了伺服器端的網路配置,接下來我們要到客戶端檢查客戶端的網路配置。我們同樣可以利用 SQL Server 自帶的客戶端網路使用工具來進行檢查,所不同的是這次是在客戶端來運行這個工具。

  點擊:程式 -> Microsoft SQL Server -> 客戶端網路使用工具, 打開該工具後看到的畫面如下圖所示:

  


  從這裡我