由於sqlserver的express版本是免費的,並且又小巧,因此我就安裝了一個sqlserver 2014 express,然而express版本默認是隻能本地鏈接的,而個人項目又須要小夥伴鏈接個人數據庫,因而我谷歌了。其實我也百度了。2015.10.21補錄做死記錄,如何讓你的Sqlserver成功的啓動不起來。 html
閒話很少說,首先說的是我安裝的sqlserver express是最簡版本,就是說只有一個數據庫系統,沒有任何管理軟件,建立數據庫都得用sqlcmd
。因此網絡上好多使用sqlserver management studio的對我來講就不適用了。可是我發現要想遠程訪問sqlserver其實並不難,所須要作的事情也很少。(最起碼我是這樣的)。我也在網絡上面找到了一個很簡單的版本,在這裏。sql
在這一步咱們須要啓用兩個服務,第一個是Named Pipes
,第二個是TCP/IP
。默認是不啓用的,右鍵點擊啓用便可,它可能會提示你重啓以後纔會生效什麼的,這個重啓服務指的就是sqlserver服務,去第一個Sql Server服務裏面重啓一下那個Sqlserver就好了。
可能有的教程還須要你啓動什麼Sql Server Browser什麼的,我發現這個不是必須的,由於我安裝的最簡版本連安裝都沒安裝。數據庫
在這一步咱們須要配置剛剛啓動的兩個服務中的tcp協議。首先咱們須要把一個'所有偵聽'設置爲'否'(這個我是按照教程來的,沒有測試設置爲'是'的狀況),這一頁就ok了,而後咱們須要配置你想遠程的那個ip地址的端口等參數,要注意畫紅線的部分,要把這個設置爲啓動才能夠。我以前並無發現剛剛那個教程其實也說了這個了,由於沒有注意,因此作了好屢次嘗試。express
這樣就能夠遠程訪問數據庫啦,另外我以前安裝Sqlserver的時候設置了sa帳戶,若是使用Windows登錄驗證能不能login就不清楚了。服務器
另外,通過今晚的嘗試我還爲我本身解答了以前的一個疑惑。以前我用qt鏈接這個數據庫的時候用ip地址鏈接怎麼都不行,只有在管理面板裏面的數據源設置好了以後才能在程序裏訪問。原來就是由於我其實並無啓用那個本地ip啊。網絡
做爲一個用精神潔癖的人,看着SQL Server網絡服務TCP/IP協議屬性框那一堆堆的ipv6地址就難受。 tcp
因此我曾經無數次的點擊每一個ip地址前面的減號想要把它刪掉,可是每次也只能把它收起來而已。爲了刪掉它們,我嘗試了把多餘的ip地址都清空(就是把ip地址那一欄裏面的內容刪掉),而後Sqlserver服務器就啓動不起來了,嘗試了三遍肯定它確實啓動不起來以後我就意識到是我剛剛的所做所爲要爲它的事故負責。 sqlserver
爲了更加精確的明白它到底哪裏出了問題,因此我就去看了errorlog,而後找到了最爲關鍵的一句話。測試
TDSSNIClient initialization failed with error 0x57, status code 0x1e. Reason: The SQL Server Network Interface found a duplicate IP address in the SQL Server TCP listening settings. Remove the duplicate IP address by using SQL Server Configuration Manager. The parameter is incorrect.
其實最關鍵的三個詞就是duplicate IP address
(重複的ip地址),而後我還看到了Remove ... by using SQL Server Configuration Manager
,就是這個remove讓我又去SQL Server Configuration Manager裏面右鍵了不少次。 code
刪除無果以後我猜測那幾個空位實際上是Sqlserver預留的,無法刪除,可是留空以後就重複了(空白也是一種重複呢),那麼我就天然而然的想到了修復,拿安裝管理器修復一通,它給我填上了幾個ipv6的地址,仍然還有不少留空。
沒有辦法的我只好實行權宜之計咯。
127.0.0.2 127.0.0.3 127.0.0.4 127.0.0.5 127.0.0.6 ...
而後運行,就能夠了。