iT邦幫忙

0

SQL Management Studio 2008 連線問題

這應該是基本問題
但我還是解決不了

1.使用電腦 A 連線至遠端的 SQL Server B 如下

2.出現錯誤訊息如下

由於有另兩部遠端電腦 C, D 可正常連線至 SQL Server B
所以我猜是「電腦 A 的原因」

3.試著加入防火牆規則如下,結果仍然失敗

在此請教各位先進
如何解決問題
或是往那個方向找資料
謝謝

註1:電腦 A 是 Windows 7 家用進階版,有 McAfee 在管防火牆
註2:電腦 A,B,C,D 的實體距離,大約都是幾公里之距
註3:由於 C,D 皆可連線,故猜測不是 B 擋 IP 之原因

看更多先前的討論...收起先前的討論...
總裁 iT邦好手 1 級 ‧ 2013-07-23 17:49:54 檢舉
不懂幫推...筆記驚啥??還沒人回答不能推...Orz
防毒軟體擋住對外連線?
有人回答了
忙
我原本只想到更改防火牆(由防毒軟體管理)的設定
待會兒我去把防毒軟體整個關掉試試看
謝謝
整個防火牆都關掉了
還是不行
忙
外獅佬 iT邦大師 1 級 ‧ 2013-07-23 23:35:37 檢舉
如果可以連線的電腦上,登入畫面也是如上圖所示...
這問題已經跟AD無關囉~
因為SSMS不使用SSPI驗證登入,而使用SQL驗證登入
海綿寶寶,要不驗檢查一下『SQL Nactive Client』以及『SQL Server』的『TCP/IP』協定是否啟用呢?
看那個錯誤訊息...怎麼遠端會走Named Pipe??
iT邦幫忙MVPwiselou提到:
錯誤訊息...怎麼遠端會走Named Pipe


我也覺得很奇怪
疑惑

我有試著用 NaviCat for SQL server
用 TCP 1433 的方式去連
可是仍然無法連線
倒
jamesjan iT邦高手 1 級 ‧ 2013-07-24 08:46:51 檢舉
我遇過這個問題
連結到 localhost 安裝的 SQL Server
怎麼試也不行(包括用 sa 登入)

後來發現我 localhost 有安裝一個 SQL Server Express 版的 instance
移除掉之後就可以了

推論到您的狀況 B 是否有其他的 Instance 安裝在上面?
C 與 D 的連結伺服器名稱是否與 A 相同? 如 sqlserver\InstanceB
外獅佬 iT邦大師 1 級 ‧ 2013-07-24 09:08:29 檢舉
不推幫補....咦??暈
外獅佬 iT邦大師 1 級 ‧ 2013-07-24 09:09:11 檢舉
檢查一下server端,SQL Browser服務有沒有啟動....
外獅佬 iT邦大師 1 級 ‧ 2013-07-24 09:12:36 檢舉
海綿寶...開放給大家玩玩...ㄛ...try try看毆飛毆飛毆飛
CalvinKuo iT邦大師 7 級 ‧ 2013-07-24 09:34:00 檢舉
若不是 jamesjan 提到的問題。
我覺得既然碰不到伺服器 B...
可以試電腦 A是不是可以用TCP 1433連到其他台SQL Server。
wiselou提到:
檢查一下server端


檢查不到
臉紅
1.B 是否有其他 instance ?
不確定
2.A, C, D 均以 IP 連線
謝謝
列入終極解決方案
噎到
好主意
容我再去找一台 SQL Server 看看
暈

這不知道算是好消息還是壞消息

我用電腦 A 連線 Microsoft Azure 平台上的 SQL Database
一試就成功連上了
汗
總裁 iT邦好手 1 級 ‧ 2013-07-24 11:01:28 檢舉
可能要等打雷才連的到了.....冷
外獅佬 iT邦大師 1 級 ‧ 2013-07-24 11:07:08 檢舉
嗯...整台電腦關掉試試毆飛
總裁 iT邦好手 1 級 ‧ 2013-07-24 11:12:16 檢舉
嗯...終於有一題我會了,關掉的電腦,一定連不到SQL SERVER....筆記
ted99tw iT邦高手 1 級 ‧ 2013-07-24 11:17:59 檢舉
而且時速要超過88公里才回得去...冷
CalvinKuo iT邦大師 7 級 ‧ 2013-07-24 11:18:20 檢舉
antijava提到:
Microsoft Azure

海綿大,我覺得Microsoft Azure 平台上的 SQL Database應該不是用TCP 1433去連的...
http://msdn.microsoft.com/zh-tw/windowsazure/ee939353.aspx
calvinkuo提到:
Microsoft Azure 平台上的 SQL Database應該不是用TCP 1433去


依據您的參考文件
我貼上我的 connection string如下
看起來像是 TCP 1433 ...
Server=tcp:c4xxxxx6p1.database.windows.net,1433;Database=test_db;User ID=admin@c4xxxxx6p1;Password={your_password_here};Trusted_Connection=False;Encrypt=True;Connection Timeout=30;
ted99tw提到:
時速要超過88公里


別鬧了
人家是88 mile/per hour,不是 88 km/per hour
88 公里大概會直上天堂
飛
外獅佬 iT邦大師 1 級 ‧ 2013-07-24 11:29:48 檢舉
別鬧了...88 mile只會被指定讓渡...落寞
CalvinKuo iT邦大師 7 級 ‧ 2013-07-24 11:50:09 檢舉
阿~ 那不知道伺服器B有沒有開 Named Pipes 可以連上去...
不過他是走445... 感覺我把簡單問題複雜化了...
http://msdn.microsoft.com/zh-tw/library/ms189307%28v=sql.105%29.aspx

http://www.cnblogs.com/chenxizhang/archive/2009/04/23/1441913.html
7/25 更新
打電話詢問代管廠商
原來「只開放兩個IP」遠端登入
是我自己耍笨
抱歉浪費大家時間
臉紅
7/25 更新
打電話詢問代管廠商
原來「只開放兩個IP」遠端登入
是我自己耍笨
抱歉浪費大家時間
臉紅
7/25 更新
打電話詢問代管廠商
原來「只開放兩個IP」遠端登入
是我自己耍笨
抱歉浪費大家時間
臉紅
7/25 更新
打電話詢問代管廠商
原來「只開放兩個IP」遠端登入
是我自己耍笨
抱歉浪費大家時間
臉紅
7/25 更新
打電話詢問代管廠商
原來「只開放兩個IP」遠端登入
是我自己耍笨
抱歉浪費大家時間
臉紅
ted99tw iT邦高手 1 級 ‧ 2013-07-25 15:29:18 檢舉
吼,派大星的丰采都被海綿寶寶給搶走了...毆飛
總裁 iT邦好手 1 級 ‧ 2013-07-25 15:40:13 檢舉
那....怎麼選最佳解呀??...疑惑
ted99tw iT邦高手 1 級 ‧ 2013-07-25 15:54:27 檢舉
不是整組刪掉就行了嗎...毆飛

2 個回答

12
richardsuma
iT邦大師 3 級 ‧ 2013-07-23 18:04:15
最佳解答

請確認下列問題:

1.可以 ping 的到 SQL Server B 嗎?
2. SQL Server B 是正式版嗎?
3. SQL Server B 本身的 SQL Management Studio 2008 可以正常啟動嗎?
4. 確認 SQL Server B 的 Services 是否都有開啟?
5. 確認 Client A 的 SQL Native driver 是否是 SQL 2008版本以上?
6. 可以遠端登入 SQL Server 嗎?
7. SQL Server B 是使用 default 的 Instant 還是 具名的 Instant?
如果使用具名 Instant , 伺服器名稱應該用 SQLServer-name\DB-Instant-name。
8. SQL Server B,C,D 都是同一個版本嗎?
9. 如果使用 SQL Server C,D 連到 SQL Server B 可以嗎?

看更多先前的回應...收起先前的回應...
fillano iT邦超人 1 級 ‧ 2013-07-23 18:22:22 檢舉

A, C, D都是client吧...

richardsuma提到:
2. SQL Server B 是正式版嗎?

這洞很大... 別摔進去了~

很多我不知道,儘可能回覆
1.A 可以 ping 到
2.不確定(由於是 production 系統,猜測應該是)
3.我碰不到 B
4.我碰不到 B
5.我安裝的是 SQL Server Management Studio 2008
6.只有 A 不行
7.不確定
8.不確定,A,C,D都是2008
9.C,D 用 Management Studio 可以連到 B

fillano提到:
A, C, D都是client吧...

正確
A 只有 Management Studio, C 有 Server, D 不確定

如果 SQL Server 是 developer 版本需要更改機碼,
否則不允許本機(SQL Server B)以外的電腦連線,
所以請先確認一下版本?

回稟 richardsuma 大
C, D 都可遠端連線至 SQL Server B

回稟 richardsuma 大
我已另使用 NaviCat for SQL Server
使用 TCP 1433 方式連接
仍然連接失敗
無言

請問 A 可以連到 C 嗎?

C 連到 B 的 伺服器名稱 跟 A 連到 B 的 伺服器名稱 是一樣的嗎?

可以確認一下 B 是 SQL Server 2008 R2 嗎?

A 使用的 SQL Server Management Studio 也 R2 版嗎?

6.只有 A 不行

應該是 Server B 有管制 user 連線,請確認 C,D 在 B 的server上是加入那一個群組。

另外,B,C,D 是否都是 Domain 內的機器,
只有 A 是 Windows 7 home, 應該沒有辦法加入 Domain,
所以沒有權限可以連線到 Server B?

換 Windows 7 Pro 試試看?

Richardsuma 大
請看補充回答說明
謝謝

antijava提到:
Server B 是 Web Hosting 廠商提供的 SQL Server

問過廠商了嗎?
如果有,廠商怎麼回答?

6
Ethan Jhuang
iT邦研究生 3 級 ‧ 2013-07-24 08:12:36

曾經碰過類似問題
不過是他自己本機SQL連不上 給您當初處理的步驟當參考

1.確認SQLSERVER的通訊埠是否為1433
2.連不上的那台電腦A
到「電腦管理」→服務與應用程式→SQL Server 組態管理員
看一下裡面的TCP/IP有沒有啟用,以及TCP/IP內容的預設通訊埠是否正確!

理論上應該就是這樣的問題@@

看更多先前的回應...收起先前的回應...
Ethan Jhuang iT邦研究生 3 級 ‧ 2013-07-24 08:18:42 檢舉

請記得修改完畢後,要重啟SQL 服務喔!

Ethan Jhuang iT邦研究生 3 級 ‧ 2013-07-24 08:28:06 檢舉

還有一種情況好像也會這樣
就是「伺服器名稱」打錯了...

檢查一下hostname試試!

外獅佬 iT邦大師 1 級 ‧ 2013-07-24 09:07:36 檢舉

hostname改成IP試試看吧....落寞

wiselou提到:
hostname改成IP試試看吧

已試過IP,不行連
噎到

et54987提到:
看一下裡面的TCP/IP有沒有啟用,以及TCP/IP內容的預設通訊埠是否正確!

我沒改過這部份
看起來是原來的預設值
暈

7/25 更新
打電話詢問代管廠商
原來「只開放兩個IP」遠端登入
是我自己耍笨
抱歉浪費大家時間
臉紅

外獅佬 iT邦大師 1 級 ‧ 2013-07-25 21:38:54 檢舉

antijava提到:
只開放兩個IP

為了兩個IP,換來一堆BI...毆飛

我要發表回答

立即登入回答