2011-07-03 177 views
8

我知道我們應該知道這樣的短語,但突然所有我的連接localhost\sqlexpress停止工作。由於.\sqlexpress(local)\sqlexpress的工作,如果不是因爲我正在開發一個團隊項目,其中所有連接字符串都是以前格式定義的,這並不是什麼大問題。顯然我很難接受它不應該工作了,所以我花了幾個小時分析和重新安裝幾個SQL Server版本無濟於事。 (並在VS2010中打破數據庫項目的方式,所以我需要重新安裝以及...)。無法連接到數據庫使用本地主機 sqlserver

但這裏有細節。如前所述,我無法連接到localhost\sqlexpress,而是連接到.\sqlexpress。使用SQL Server Manager的相同症狀以及用於部署和運行wcf服務的連接字符串。有趣的是足夠解決默認實例localhost的作品。

首先,首先,SQL Server正在運行,只是爲了確保啓用TCP/IP並將端口固定爲1433,儘管它在禁用TCP/IP的同事機器上工作。 (在我讀的一路上,localhost可以在使用本機SQL客戶端時使用共享內存來解析,所以我猜這就是他的系統上發生的情況。)

安裝程序只有一個SQL Server Express 2008 R2實例和VS2010在Windows 7專業版上。

啓動了SQL Express的錯誤日誌說:

Server is listening on [ 'any' <ipv6> 1433]. 
Server is listening on [ 'any' <ipv4> 1433]. 

的Netstat說(節選):

TCP 0.0.0.0:1433   Machinenename:0    LISTENING 
TCP [::]:1433    Machinenename:0    LISTENING 

我注意到沒有127.0.0.1:1433任何UDP上端口1433

爲了診斷問題我使用sqlcmd找出使用什麼傳輸:

1.本地主機\ SQLEXPRESS

sqlcmd -Slocalhost\sqlexpress -> Shared memory 
sqlcmd -Stcp:localhost\sqlexpress -> SQL Server Network Interfaces: Error Locating Server/Instance Specified 

無法從SQL Server Management Studio連接到本地主機\ SQLEXPRESS即使我指定的共享內存作爲協議

2.本地主機

sqlcmd -Slocalhost -> TCP 
sqlcmd -Stcp:localhost -> TCP 

可以從SQL Server Management S連接到本地主機tudio

3(本地)\ SQLEXPRESS

sqlcmd -S(local)\sqlexpress -> Shared memory 
sqlcmd -Stcp:(local)\sqlexpress -> SQL Server Network Interfaces: Error Locating Server/Instance Specified 

可以連接到(本地)\從SQL Server Management Studio中SQLEXPRESS

所以我在這裏丟失。任何幫助,高度讚賞。

回答

2

您是否已驗證在SQL Server配置管理器中的SQL Server網絡配置下啓用了共享內存?協議?

當我禁用「共享內存」協議時,「sqlcmd -S。\ sqlexpress」超時。啓用它使命令工作得很好。

還有一個想法......端口1434用於SQL Server發現服務,它使像SQL Management Studio之類的程序發現SQL Server正在機器上運行。還有一件事要調查。

在MS SQL
4

,去配置工具 - > SQL Server配置管理器 選擇SQL Server網絡配置 - >選擇協議 在右側窗口啓用TCP/IP 和SERVICES.MSC 重新啓動服務然後嘗試連接到本地主機\ sqlexpress

0

我們有這個問題。出於某種原因,在這臺機器上,創建了一個Alias,它將我們使用的服務器名稱(localhost \ SQL2008_R2)指向一個不再存在的服務器。

一旦我們刪除了別名,它一切工作。

別名是SQL Server配置管理器中的樹節點。

SQL Server Configuration Manager Alias Node

相關問題