我知道我們應該知道這樣的短語,但突然所有我的連接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
所以我在這裏丟失。任何幫助,高度讚賞。