Networking

連接到 localhost 時出現 SQL Server 08 Express 錯誤 - “超時已過期”。適用於 ::1 或 127.0.0.1

  • October 7, 2014

編輯

新資訊:在 Chrome 中導航到 localhost:1434 會給我一個“ERR_EMPTY_RESPONSE”,而其他埠給我一個“糟糕!這個連結似乎已損壞”。所以它似乎在那裡綁定好嗎?

所以這是我到目前為止的設置:

  • 我已將 Windows 防火牆配置為允許 1433 上的 TCP 和 1434 上的 UDP。
  • 我已將 SQL Server 設置為使用埠 1433 上的任何 IP(使用 SQL Server 配置管理器)。
  • 我的主機文件包含預設條目(“127.0.0.1 localhost”和“::1 localhost”)。
  • 我有時有一個執行 Web 伺服器的 Visual Web Developer 調試會話,但它位於特定埠 (localhost:5XXXX) 上。

我試過的:

  • 我可以在cmd提示符下 ping localhost。
  • 如果我指定127.0.0.1或**::1作為伺服器名稱,我可以通過SSMS**連接到數據庫。
  • 如果我將localhost指定為伺服器名稱,我將無法通過 SSMS(或 ADO.NET)連接到數據庫。我已經嘗試過 Windows 和 SQL 身份驗證我得到的錯誤是標準的

無法連接到本地主機。附加資訊 –> 超時。在操作完成之前超時時間已過或伺服器沒有響應。(微軟 SQL 伺服器)

其他注意事項:

  • 從工作列停止 Visual Web Developer Web 伺服器不會影響 sql 問題。
  • SQL 錯誤日誌說它在啟動時正在監聽一些管道名稱 url(我不知道這會如何影響 localhost 但不會影響 127.0.0.1)。

我可能在任何地方都可以使用 127.0.0.1 ,但這讓我害怕 localhost 無法正常工作,我想弄清楚原因。

我不是一個網路或 sql server 的人,所以我被困住了。如果您想讓我嘗試任何幫助診斷的方法,只需將其放在評論中,我會試一試。

網路統計結果:

相對於 C:\Program Files\Microsoft SDKs\Windows\v6.1 設置 SDK 環境

針對 Windows Server 2008 x86 調試

C:\Program Files\Microsoft SDKs\Windows\v6.1> netstat -ano | 發現str 1434
UDP 0.0.0.0:1434 *:* 6868
UDP [::]:1434 *:* 6868

C:\Program Files\Microsoft SDKs\Windows\v6.1> netstat -ano | 發現str 1433
TCP 0.0.0.0:1433 0.0.0.0:0 監聽 2268
TCP 127.0.0.1:1433 127.0.0.1:50758 已建立 2268
TCP 127.0.0.1:50758 127.0.0.1:1433 已建立 5008
TCP [::]:1433 [::]:0 監聽 2268
TCP [::1]:1433 [::1]:51202 已建立 2268
TCP [::1]:1433 [::1]:51616 已建立 2268
TCP [::1]:51202 [::1]:1433 已建立 5008
TCP [::1]:51616 [::1]:1433 已建立 5008

C:\Program Files\Microsoft SDKs\Windows\v6.1>

SQL Server 日誌文件:

萬一有幫助

2010-01-30 12:58:59.01 伺服器 Microsoft SQL Server 2008 (SP1) - 10.0.2531.0 (Intel X86)
2009 年 2 月 29 日星期二 10:27:29
版權所有 (c) 1988-2008 Microsoft Corporation
Windows NT 6.0 上的 Express Edition(內部版本 6002:Service Pack 2)

2010-01-30 12:58:59.01 伺服器 (c) 2005 Microsoft Corporation。
2010-01-30 12:58:59.01 伺服器保留所有權利。
2010-01-30 12:58:59.01 伺服器伺服器程序 ID 為 2268。
2010-01-30 12:58:59.01 伺服器系統製造商:“Dell Inc.”,系統型號:“Inspiron 1545”。
2010-01-30 12:58:59.01 伺服器身份驗證模式是混合的。
2010-01-30 12:58:59.02 伺服器在文件“c:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Log\ERRORLOG”中記錄 SQL Server 消息。
2010-01-30 12:58:59.02 伺服器此 SQL Server 實例上次報告使用程序 ID 7396 於 2010 年 1 月 30 日下午 12:57:38(本地)2010 年 1 月 30 日下午 5:57:38 (世界標準時間)。這只是一條資訊性消息;無需使用者操作。
2010-01-30 12:58:59.02 伺服器系統資料庫啟動參數:
-dc:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\master.mdf
-ec:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Log\ERRORLOG
-lc:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\mastlog.ldf
2010-01-30 12:58:59.02 伺服器 SQL Server 以正常優先級基礎 (=7) 啟動。這只是一條資訊性消息。無需使用者操作。
2010-01-30 12:58:59.02 伺服器檢測到 2 個 CPU。這是一條情報資訊; 無需使用者操作。
2010-01-30 12:58:59.08 伺服器使用動態鎖分配。每個節點初始分配 2500 個 Lock 塊和 5000 個 Lock Owner 塊。這只是一條資訊性消息。無需使用者操作。
2010-01-30 12:58:59.17 伺服器節點配置:節點 0:CPU 遮罩:0x00000003 活動 CPU 遮罩:0x00000003。此消息提供此電腦的 NUMA 配置的描述。這只是一條資訊性消息。無需使用者操作。
2010-01-30 12:58:59.30 spid7s 啟動數據庫'master'。
2010-01-30 12:58:59.41 spid7s 恢復正在數據庫“主”(1) 中寫入檢查點。這只是一條資訊性消息。無需使用者操作。
2010-01-30 12:58:59.67 spid7s FILESTREAM:有效級別 = 0,配置級別 = 0,文件系統訪問共享名稱 = 'SQLEXPRESS'。
2010-01-30 12:58:59.92 spid7s SQL Trace ID 1 由登錄“sa”啟動。
2010-01-30 12:58:59.94 spid7s 啟動數據庫“mssqlsystemresource”。
2010-01-30 12:58:59.95 spid7s 資源數據庫建構版本為 10.00.2531。這只是一條資訊性消息。無需使用者操作。
2010-01-30 12:59:00.82 spid7s 伺服器名稱是“DELL\SQLEXPRESS”。這只是一條資訊性消息。無需使用者操作。
2010-01-30 12:59:00.83 伺服器成功載入自生成證書進行加密。
2010-01-30 12:59:00.84 伺服器伺服器正在監聽 ['any' 1433]。
2010-01-30 12:59:00.84 伺服器伺服器正在監聽 ['any' 1433]。
2010-01-30 12:59:00.84 spid10s 啟動數據庫“模型”。
2010-01-30 12:59:00.85 伺服器伺服器本地連接提供程序已準備好接受 [\\.\pipe\SQLLocal\SQLEXPRESS] 上的連接。
2010-01-30 12:59:00.86 伺服器伺服器本地連接提供程序已準備好接受 [\\.\pipe\MSSQL$SQLEXPRESS\sql\query] 上的連接。
2010-01-30 12:59:00.86 伺服器專用管理員連接支持未啟動,因為它在此版本的 SQL Server 上被禁用。如果要使用專用管理員連接,請使用跟踪標誌 7806 重新啟動 SQL Server。這只是一條資訊性消息。無需使用者操作。
2010-01-30 12:59:00.87 伺服器 SQL Server 網路介面庫無法為 SQL Server 服務註冊服務主體名稱 (SPN)。錯誤:0x54b,狀態:3。未能註冊 SPN 可能會導致集成身份驗證回退到 NTLM 而不是 Kerberos。這是一條情報資訊。僅當身份驗證策略需要 Kerberos 身份驗證時,才需要進一步操作。
2010-01-30 12:59:00.87 spid7s 資訊性:未找到支持全文的語言。
2010-01-30 12:59:00.87 伺服器 SQL Server 現在已準備好進行客戶端連接。這是一條情報資訊; 無需使用者操作。
2010-01-30 12:59:00.91 spid7s 啟動數據庫“msdb”。
2010-01-30 12:59:01.21 spid10s 清除 tempdb 數據庫。
2010-01-30 12:59:02.78 spid10s 啟動數據庫“tempdb”。
2010-01-30 12:59:03.30 spid13s Service Broker 協議傳輸被禁用或未配置。
2010-01-30 12:59:03.30 spid13s 數據庫鏡像協議傳輸被禁用或未配置。
2010-01-30 12:59:03.31 spid7s 恢復完成。這只是一條資訊性消息。無需使用者操作。
2010-01-30 12:59:03.31 spid13s 服務代理管理器已啟動。

根據您的附加資訊編輯了我的答案。

我會按照這裡的所有步驟告訴我們。

您應該使用 localhost\SQLEXPRESS 連接到 SQL Server 的本地實例 - 假設該實例稱為 SQLEXRESS。

我注意到,在您的評論中,您說您在執行此操作時遇到錯誤,請您發布它,因為它可能有助於解決您的問題。

此外,您可以在連接字元串中使用 .\SQLEXPRESS 來連接到 SQL Server Express 的本地實例,而不是使用 127.0.0.1。

引用自:https://serverfault.com/questions/108086