none
關於SQL 2005 Express edition 遠端連線問題 RRS feed

  • 問題

  •  

    我的環境是

    windows xp professional sp2

    IIS 5.1

    SQL2005 Express

    SQL Server Management Studio Express

     

    安裝好軟體之後 我照

    http://support.microsoft.com/kb/914277/zh-tw

    的流程做好了 SQL介面組態設定中的 遠端連接->本機和遠端連接->只使用TCP/IP

     

    防火牆例外 加入了SQL Server 及SQL Server Browser

    重新啟動 Server 及 Browser

     

    在managerment中

    伺服器類型 : Database Engine

    使用SQL server 驗證

    伺服器名稱使用

    [主機名稱]\SQLEXPRESS 成功連接

    [虛擬ip(192.168..)]\SQLEXPRESS 成功連接

    [實體ip(61.217.)]\SQLEXPRESS 無法連接

     

    netstat -a 的結果 只有看到UDP [主機名稱]:ms-sql-m  *.*

    沒看到TCP 有Listen 1443 port(聽說預設是1443port)

     

    請問我要怎麼讓別人從遠端登入..

     

    爬了一些文 ..還是沒辦法解決...

     

    還有....版主的 小朱大 是程式設計俱樂部那個一個嗎?...

    2007年10月9日 上午 06:29

解答

  • SQL Server 2005 Express Edition 具名執行個體所接聽的通訊埠是動態指定的,若要設定靜態通訊埠,請使用「SQL Server 組態管理員」,展開「SQL Server 2005 網路組態」裡的 SQL Server 2005 Express Edition 之通訊協定,於「IP 位址」索引標籤中,清除「TCP 動態通訊埠」方塊,然後在「TCP 通訊埠」方塊中,鍵入所欲指定的靜態通訊埠,比方說,1433。 本區本主 小朱,確為程式設計俱樂部上十分活躍的那個小朱。
    2007年10月9日 上午 08:19
    版主
  •  五更 寫信:
    請問我如果沒有設定靜態通訊埠  別人就不能用遠端登入嗎?..

    看你是否要啟用 SQL Server Browser 服務,且於使用 SSMS 或是 SSMSE 時,是否要讓使用者只需鍵入遠端的 SQL Server 2005 Express 的 IP Address 就好了,還是還要多加上連接埠?

     

    如果在連線時,要多加上連接埠,當然就要指定固定的 Port,要不然使用者在遠端怎會知道現在 SQL Server 2005 Express 在聽什麼(除非他是劉伯溫有神機妙算的功力)?

     

    如果不想那麼麻煩,可以開啟 SQL Browser 服務

     五更 寫信:

    另外一台電腦上也有裝management 2005 express,但是不在同一個區網中

    在伺服器名稱那邊輸入 [我的實體位址]\SQLEXPRESS 或是 [我的實體位址] 都沒辦法連接

     

    還有想請問一下 如果是sql2000的management 可以連接2005的sql server嗎?...

    要用 [我的實體位址]\SQLEXPRESS

     

    SQL Server 2000 Enterprise Manager 無法管理 SQL Server 2005,但反之則可以

    2007年10月9日 上午 10:40
    版主
  • 靜態通訊埠是安裝時的預設值,其實靜態與動態皆可使用遠端登入,但是使用靜態通訊埠有一個好處,那就是在防火牆可以直接設定此靜態通訊埠,降低資訊安全的風險。

     

    sql server 2000的Enterprise Manager無法連到sql server 2005,而且連接設定到最後一步的時候他就會出現下列文字:

     

    to connect to this server you must use SQL Server Management Studio or SQL Server Management Objects(SMO)

     

    關於遠端連線教學:

    如何設定 SQL Server 2005 為允許遠端連接:

    http://support.microsoft.com/kb/914277/zh-tw

     

    如何設定 SQL Server 執行個體接聽特定 TCP 通訊埠或動態通訊埠:

    http://support.microsoft.com/kb/823938/zh-tw?spid=2855&sid=1284

    2007年10月9日 上午 10:47
  • 如果是使用實體位址時,請確認非 Windows 內建的防火牆(比方說,公司所安裝的硬體防火牆)有允許 SQL Server 所需使用的通訊埠可以通過!

     

    此外,您先前有提過用虛擬 IP 是可以連線成功,唯有使用實體 IP 不成功,更加讓我懷疑是因為非 Windows 內建的防火牆所造成的。

    2007年10月11日 上午 04:10
    版主

所有回覆

  • SQL Server 2005 Express Edition 具名執行個體所接聽的通訊埠是動態指定的,若要設定靜態通訊埠,請使用「SQL Server 組態管理員」,展開「SQL Server 2005 網路組態」裡的 SQL Server 2005 Express Edition 之通訊協定,於「IP 位址」索引標籤中,清除「TCP 動態通訊埠」方塊,然後在「TCP 通訊埠」方塊中,鍵入所欲指定的靜態通訊埠,比方說,1433。 本區本主 小朱,確為程式設計俱樂部上十分活躍的那個小朱。
    2007年10月9日 上午 08:19
    版主
  •  

    請問我如果沒有設定靜態通訊埠  別人就不能用遠端登入嗎?..

    因為我現在是卡在想從遠端登入

    另外一台電腦上也有裝management 2005 express,但是不在同一個區網中

    在伺服器名稱那邊輸入 [我的實體位址]\SQLEXPRESS 或是 [我的實體位址] 都沒辦法連接

     

    還有想請問一下 如果是sql2000的management 可以連接2005的sql server嗎?...

     

    2007年10月9日 上午 08:25
  •  五更 寫信:
    請問我如果沒有設定靜態通訊埠  別人就不能用遠端登入嗎?..

    看你是否要啟用 SQL Server Browser 服務,且於使用 SSMS 或是 SSMSE 時,是否要讓使用者只需鍵入遠端的 SQL Server 2005 Express 的 IP Address 就好了,還是還要多加上連接埠?

     

    如果在連線時,要多加上連接埠,當然就要指定固定的 Port,要不然使用者在遠端怎會知道現在 SQL Server 2005 Express 在聽什麼(除非他是劉伯溫有神機妙算的功力)?

     

    如果不想那麼麻煩,可以開啟 SQL Browser 服務

     五更 寫信:

    另外一台電腦上也有裝management 2005 express,但是不在同一個區網中

    在伺服器名稱那邊輸入 [我的實體位址]\SQLEXPRESS 或是 [我的實體位址] 都沒辦法連接

     

    還有想請問一下 如果是sql2000的management 可以連接2005的sql server嗎?...

    要用 [我的實體位址]\SQLEXPRESS

     

    SQL Server 2000 Enterprise Manager 無法管理 SQL Server 2005,但反之則可以

    2007年10月9日 上午 10:40
    版主
  • 靜態通訊埠是安裝時的預設值,其實靜態與動態皆可使用遠端登入,但是使用靜態通訊埠有一個好處,那就是在防火牆可以直接設定此靜態通訊埠,降低資訊安全的風險。

     

    sql server 2000的Enterprise Manager無法連到sql server 2005,而且連接設定到最後一步的時候他就會出現下列文字:

     

    to connect to this server you must use SQL Server Management Studio or SQL Server Management Objects(SMO)

     

    關於遠端連線教學:

    如何設定 SQL Server 2005 為允許遠端連接:

    http://support.microsoft.com/kb/914277/zh-tw

     

    如何設定 SQL Server 執行個體接聽特定 TCP 通訊埠或動態通訊埠:

    http://support.microsoft.com/kb/823938/zh-tw?spid=2855&sid=1284

    2007年10月9日 上午 10:47
  • 我已經啟用了SQL Server Browser

    使用的方法是http://support.microsoft.com/kb/914277/zh-tw裡面的方法(同時也感謝Cary Hsu )

    並且現在關閉防火牆及所有的防毒軟體

    根據ALEX的說法 應該不需要再另外設定靜態通訊埠

     

    但是在別的網域電腦還是沒辦法使用SSMSE 2005 建立 [實體位址]\SQLEXPRESS 這個連結

     

    我想在本機建立網站再上傳到遠端web server 但是要繼續使用我本機上的SQL server

    那我在本機建立的資料庫連結的時候 應該用[實體位址]\SQLEXPRESS這個伺服器名稱 而非[虛擬位址]\SQLEXPRESS

    這個方法沒錯吧?..

    但是沒辦法用[實體位址]\SQLEXPRESS這個伺服器名稱建立聯結  我是用VWD Express

     

    錯誤訊息是

    ------------------------------------------------------------------------------------------------------------

    在建立連接至伺服器時發生錯誤 當連接至SQL server 2005 時

    失敗的原因可能是 在預設設定下 SQL server不允許遠端連接

    (Provider : SQL 網路介面 error 26 -搜尋指定的伺服器/執行個體時發生錯誤)

    ------------------------------------------------------------------------------------------------------------

     

    請問該怎麼讓SQL server express 2005 可以使用遠端連線...

    實在搞不定...

    2007年10月11日 上午 01:50
  • 如果是使用實體位址時,請確認非 Windows 內建的防火牆(比方說,公司所安裝的硬體防火牆)有允許 SQL Server 所需使用的通訊埠可以通過!

     

    此外,您先前有提過用虛擬 IP 是可以連線成功,唯有使用實體 IP 不成功,更加讓我懷疑是因為非 Windows 內建的防火牆所造成的。

    2007年10月11日 上午 04:10
    版主
  • 我設定好靜態PORT之後

    在Xp_readerrorlog裡面有看到這一行

    2007-10-15 11:36:52.960 伺服器 Server is listening on [ 'any' <ipv4> 8765].

    應該表示有設定成功了..

     

    之後連結用[虛擬ip:8765]\SQLEXPRESS 或是[實體IP:8765]\SQLEXPRESS都無法連接

    但是[虛擬ip]\SQLEXPRESS 還是可以連接...真有點神奇....

     

    第二步測試分享器的NAT是否成功..

    我將IIS的PORT設成8765 然後關閉SQL server (不然會搶同一個port....)

    在IE網址列打上實體IP:8765....成功

    所以我的router應該有成功ip forwarded....

     

    再試一次

    [虛擬ip:8765]\SQLEXPRESS 或是[實體IP:8765]\SQLEXPRESS都無法連接

     

    囧了....我想應該不是中華電信的防火牆擋掉.......

     

    EXPRESS EDITION 真的可以用遠端連線嗎?.....請問有人有成功經驗嗎?...

     

     

    2007年10月15日 上午 03:51
  • 我在公司電腦安裝了 sql server 2005 express, 有成功的 從外部連進來
    我的連線 是這樣寫的"Data Source=61.xx.xx.xx\SQLEXPRESS;Initial Catalog=dbName;Persist Security Info=True;User ID=aaa;Password=1234;Connect Timeout=30"
    當初 我也連不上, 後來我發現 要在 ip分享器 也要設定(我的是 192.168.1.254), 要把 TCP 1433 跟 UDP 1434 指定給 內部IP,外部才能連的進來。
    不過 我現在遇到一個問題。 我自己寫了個連線測試程式,將連線字串都寫進去。 我把程式交給 台北交給其他朋友,他可以正常連進我的database. 但是我將同樣的程式 交給大陸的同事, 它卻一直出現
    "System.Data.SqlClient.SqlException: An error has occurred while establishing a connection to the server.  When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)" 錯誤。
    他是使用 xp sp2, 我有確認 他的防火牆都關了,telnet 我的實體ip 1433 也可以通,但就是連不上。
    請問 有人可以教我如何處理嗎?
    謝謝

    2007年10月18日 上午 10:56
  • 我們公司在北中南各有分點,我也是使用Express Edition,而且只開啟遠端連線與各分點的防火牆設定,但是我們的環境是走VPN,不同的網段,這樣測的時候都是沒有問題的,所以基本上Express Edition是確定沒有問題的。

     

    另外請問一下你更換Port的時候,你有在Server與Client的部份把Port都改成8765嗎?這部份要兩邊都設定才可以。

     

    2007年10月18日 下午 05:36
  •  

    請問Client端的port 設定方法是什麼?.

    因為我在新增連接的視窗中找不到可以設定PORT的部份

    我是用  ipStick out tongueort\SQLEXPRESS  的方法直接指定port..這個方法正確嗎?.

     

    2007年10月19日 上午 12:49