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

MSSQL
如何让新安装的MySQL数据库变得更安全
考虑SQL Server安全时所应注意的几个方面
快速解决SQL server 2005孤立用户问题
比较一下看看自己掌握了多少SQL快捷键
怎样在SQL Server 2005中用证书加密数据
讲解使用SQL Server升级顾问的详细步骤
讲解设计应用程序时避免阻塞的八个准则
配置SQL Server文件组对应不同的RAID系统
讲解数据库管理系统必须提供的基本服务
讲解SQL Server2005数据项的分拆与合并
SQL Server数据库动态交叉表的参考示例
SQL SERVER 2005中的同步复制技术
SQL Server查询速度慢的原因及优化方法
减少SQL Server死锁的方法
sql server 视图作用
扩展数据库系统选项实现更高的可扩展性
SQL Server开发过程中的的常见问题总结
对跨多个表格的数据组合时需要用到的SQL
SQL Server 2005 FOR XML嵌套查询使用详解
另类解读SQL Server中的DateTime数据类型

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 121 ::
收藏到网摘: 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 -> 客戶端網路使用工具, 打開該工具後看到的畫面如下圖所示:

  


  從這裡我