您目前已離線,請等候您的網際網路重新連線

造成「SQL Server 不存在或拒絕存取」錯誤訊息的可能原因

結論
「SQL Server 不存在或拒絕存取」是一般 Microsoft Data Access Components (MDAC) 訊息,表示無法聯繫執行 Microsoft SQL Server 的電腦。許多可能原因都會造成此一般訊息。本文<其他相關資訊>一節將詳細說明部分最常見的原因。

注意 下列錯誤訊息也有類似的原因:
SQL Server is unavailable or does not exist (SQL Server 無法使用或不存在)
The specified SQL Server is not found (找不到指定的 SQL Server)
其他相關資訊
「SQL Server 不存在或拒絕存取」訊息並不代表下列意義:
  • 登入 SQL Server 的程序失敗。
  • SQL Server 沒有正確的權限可以處理查詢。
  • 您無法使用 SQL Server 驗證,因為只允許使用 Windows 驗證。

可能原因

與伺服器相關的原因

如果沒有用戶端電腦可以連線到執行 SQL Server 的電腦,可能是伺服器端的問題。
  • 您在連接字串中指定的電腦未安裝 SQL Server。請確認您在連接字串中指定的電腦確實已安裝 SQL Server。
  • SQL Server 未啟動。SQL Server 必須在執行中才能接受連線。
  • SQL Server 不是接聽您用來連線的通訊協定或連接埠。伺服器上的「伺服器網路公用程式」(Server Network Utility) 會判斷 SQL Server 將使用的通訊協定,以及 SQL Server 將接聽的 TCP/IP 連接埠。「用戶端網路公用程式」(Client Network Utility)、MDAC 資料來源名稱 (DSN) 或您的連接字串,會判斷用戶端連線時所使用的通訊協定和連接埠。 如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
    289573PRB:Configuring DSNs with SQL Server net-libraries
    328383 SQL Server clients may change protocols when the client computers try to connect to an instance of SQL Server
  • SQL Server 啟動時,無法接聽指定的 TCP/IP 連接埠,並且不接受 TCP/IP 連線。 如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
    293107Clients cannot communicate to SQL Server through port 1433 or the port SQL Server is listening on
  • SQL Server 名稱與電腦名稱不同。 如需有關 SQL Server 2000 中此問題的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
    303774BUG: "Renaming a server" topic in SQL Server Books Online is incomplete
    如需有關 SQL Server 7.0 中此問題的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
    195759INF: Frequently Asked Questions - SQL Server 7.0 - SQL Setup
    如需有關叢集環境中此 SQL Server 問題的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
    307336The SQL Server Network Name resource cannot be renamed
  • 如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
    298822FIX: MSDE connection may fail on a multihomed computer
  • 如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
    306199FIX: Dynamic IP addresses cannot connect to SQL Server 2000
  • 根據預設,使用 SQL Server Desktop Engine (也就是 MSDE 2000) Service Pack 3 (SP3) 或 SP3a 啟動時只允許本機連線。如果要允許遠端連線至 SQL Server Desktop Engine,請依照下列文件中的步驟執行:
    814130 如何協助保護 SQL Server 2000 本機資料庫的網路連線

與用戶端或應用程式相關的原因

如果某些用戶端電腦或應用程式可以連線,但其他的卻不行,您很可能遭遇到用戶端問題。
  • 電腦名稱不存在。請仔細檢查您嘗試連線的電腦的名稱拼字。
  • 您正嘗試存取 SQL Server 的具名執行個體,但未指定正確的執行個體名稱。 如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
    265808INF:如何以舊版用戶端工具連接 SQL Server 2000 具名執行個體
  • 您要用來連線的 Windows 層級安全性與預期的不同。例如,Microsoft Internet Information Services (IIS) 使用 IUSR_computername 或者可能使用其他帳戶 (視 IIS 的設定而定),而不是您用來登入 Windows 的帳戶。此外,在某些情況下,連結的伺服器會使用 SQL Server Agent 的 Windows 層級安全性內容。您所使用帳戶的安全性內容,可能沒有存取 SQL Server 安裝所在電腦的權限。
  • 您未使用正確的通訊協定。請檢查您的「用戶端網路公用程式」(CNU),以確認正在使用的通訊協定 (對於較舊版本的 MDAC,請設定預設值,而不要啟用通訊協定)。此外,請確認 CNU 中是否有任何已定義的別名,而那些別名指定與您預期不同的通訊協定或連接埠 (或兩者)。 如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
    328383SQL Server clients may change protocols when the client computers try to connect to an instance of SQL Server
    289573 PRB: Configuring DSNs with SQL Server net-libraries
  • 您從用戶端的網路內容中移除了 Client for Microsoft Networks 網路元件。 如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
    253959Client for Microsoft Networks functions when unbound from network adapter
  • 如果 SQL Server 位於叢集環境中,則網路介面卡的命名或設定可能不正確。如果有任何網路介面卡使用特殊字元或大小寫混合來命名,請將介面卡重新命名。請確認電腦上的網路介面卡都已正確地設定。
  • 您可能遭遇 MDAC 不相符的副作用。 如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
    307255元件檢查程式 (Component Checker):診斷問題並重新設定 MDAC 安裝
  • 檢查下列子機碼中指定的通訊協定:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\ConnectTo\DSQUERY
    此值通常反映 CNU 中的設定,但有時則不是。如果此值為 DBNETLIB,便會使用 CNU [啟用的通訊協定] 清單的其中一個通訊協定。如果列出特定的通訊協定,便會改用該通訊協定。
  • 您嘗試透過具名管道進行連線,但是 SQL Server 正在接聽的具名管道已從預設值有所變更,或者您使用錯誤的管道名稱。

    對於預設執行個體,請在「伺服器網路公用程式」中使用下列管道:
    \\.\pipe\sql\query
    對於具名執行個體,請使用:
    \\.\pipe\MSSQL$instancename\sql\query
  • 您已經指定不正確的 DSN 類型 (檔案、使用者或系統)。 如需有關不同 DSN 類型的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
    213772How to use system, user, and file data source names (DSN) in Excel 2000 or Excel 2002
  • 如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
    290820BUG: SQL Desktop Edition: Shared Memory Fails to Connect After You Install MDAC 2.6

與網路或網域相關的原因

如果只有位於特定網域、特定子網路或防火牆後方的電腦才會出現此錯誤訊息,請檢查下列問題。
  • 如果 UDP 連接埠 1434 已封鎖,您可能必須在連接字串中指定 SQL Server 在接受來自用戶端的連線時要接聽的連接埠 如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
    287932INF:透過防火牆和 SQL Server 通訊所需的 TCP 通訊埠
    318432 BUG: Cannot connect to a clustered named instance through a firewall
  • Windows 帳戶的本機安全性原則使用者權限指派不允許來自網路的存取。請務必允許「從網路存取這台電腦」原則。此外,絕不可以授與「拒絕從網路存取這台電腦」權限。
  • 出現網域信任問題,或者其中一部電腦位於工作群組中,因此無法存取網域。如果要在某些案例中處理此問題,您可以在所有電腦上針對每一個帳戶,使用相同密碼建立相同的本機 Windows 帳戶。 如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
    321247How to configure security for SQL Server log shipping
  • 名稱解析未正常運作。請檢查您所使用之名稱解析系統中的設定 (例如 DNS、WINS、Hosts 或 lmhosts)。 如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
    169790如何疑難排解基本的 TCP/IP 問題
tcp/ip tcpip named pipes shared memory odbc mdac
內容

文章識別碼:328306 - 最後檢閱時間:05/13/2011 22:49:00 - 修訂: 14.0

Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 7.0 Standard Edition, Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Express Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2005 Workgroup Edition

  • kbsqldeveloper kbinfo KB328306
意見反應