none
使用複寫功能的訂閱動作時遇到(建立連接至 SQL Server 時,發生網路相關或執行個體特定的錯誤) RRS feed

  • 問題

  • 環境架構

    主機1 Center

    DB:SQL Server 2008R2

    OS:Windows Server 2008R2

    主機2 GW

    DB:SQL Server 2008R2(目前使用中的)

          SQL Server 2005

    OS: Windows Server 2008R2

    當使用GW主機複寫功能新增發行集(快照) 上傳至Center主機時

    Center主機要訂閱並透過SSMS登入時發生連線錯誤

    錯誤訊息如下:

    標題: 連接到伺服器
    ------------------------------

    無法連接到 GW\FYYI。

    ------------------------------
    其他資訊:

    無法連接到伺服器 GW\FYYI。 (Microsoft.SqlServer.ConnectionInfo)

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

    建立連接至 SQL Server 時,發生網路相關或執行個體特定的錯誤。找不到或無法存取伺服器。確認執行個名稱是否正確,以及 SQL Server 是否設定為允許遠端連線。 (provider: SQL 網路介面, error: 26 - 搜尋指定的伺服器/執行個體時發生錯誤) (Microsoft SQL Server, 錯誤: -1)

    如需說明,請按一下: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=-1&LinkId=20476

    網路1433Port都有雙向開通 (使用telnet 測試)

    但GW主機是具名的執行個體且執行個體有SQL Server 2005 有兩個

    SQL Server 2008R2 有一個(目前使用的 FYYI)

    另外我有測試 當使用 Center 主機的SSMS直接登入 GW 可以登入 但必須伺服器名稱為 GW 而不是 GW\FYYI

    但在 GW\FYYI 裡面使用  sp_helpserver 查出來的 name 的確是 GW\FYYI 

    想請問各位前輩這種情況該如何設定才能連線到正確的執行個體並成功訂閱?

    目前試過好多方法 但都不能成功訂閱...

    Server Browser 有打開

    FYYI的執行個體 的 TCP/IP 設定 1433 Port 有啟用

    另外在想是不是其他的執行個體會影響到?

    2014年8月25日 上午 09:09

解答

  • 先把防火牆關掉測試一下是否正常

    防火牆設定參考

    http://msdn.microsoft.com/zh-tw/library/cc646023.aspx


    保證解答-微軟技術支援服務

    • 已標示為解答 Lineageshow 2014年8月26日 上午 03:27
    2014年8月25日 下午 01:40
    版主
  • 剛剛試了終於成功了!

    我花了一個多禮拜的時間 

    防火牆剛剛我只有關本機的 外面還有一層防火牆 

    基本上我只有開 1433 port 

    但是剛剛看了外部防火牆的log 訊息 UDP 1434 似乎有 異狀 就把1434Port 打開

    就可以通了!  

    剛剛又上網參考了一下MSDN的文件果然

    預設的執行個體和具名的執行個體所使用的Port 不一樣 

    預設執行個體使用 TCP 1433   具名執行個體使用 UDP 1434

    參考文件如下

    http://technet.microsoft.com/zh-tw/library/ms175483(v=sql.105).aspx

    還以為大家都使用1433... 沒想到 具名執行個體居然不同

    • 已編輯 Lineageshow 2014年8月26日 上午 03:51
    • 已標示為解答 Lineageshow 2014年8月26日 上午 03:52
    2014年8月26日 上午 03:26

所有回覆

  • Did you test port 1433 on center with telnet to gw?
    2014年8月25日 下午 01:16
  • 先把防火牆關掉測試一下是否正常

    防火牆設定參考

    http://msdn.microsoft.com/zh-tw/library/cc646023.aspx


    保證解答-微軟技術支援服務

    • 已標示為解答 Lineageshow 2014年8月26日 上午 03:27
    2014年8月25日 下午 01:40
    版主
  • 鏡像備援預設使用 40001

    不精確的問法,就會得到隨便猜的答案;自己都不肯花時間好好描述問題,又何必期望網友會認真回答?

    2014年8月25日 下午 01:47
  • 有測試過 使用  center telnet 1433 GW And GW telnet center 1433 都有通了
    2014年8月26日 上午 02:29
  • 防火牆有關 作測試 但 訂閱那邊的連線到伺服器的地方一樣會連不到

    但是 直接使用SSMS的連接 Database Engine 伺服器名稱打 center  可以連的到

    但是 如果是有加反斜 執行個名稱 就無法連線  錯誤訊息

    建立連接至 SQL Server 時,發生網路相關或執行個體特定的錯誤。找不到或無法存取伺服器。確認執行個名稱是否正確,以及 SQL Server 是否設定為允許遠端連線。 (provider: SQL 網路介面, error: 26 - 搜尋指定的伺服器/執行個體時發生錯誤) (Microsoft SQL Server, 錯誤: -1)

    由於我訂閱了許多台主機  只要是單獨一個執行個體的 便可以在訂閱 連接伺服器的時候輸入hostname就可以抓到

    但是如果是有多個執行個體 必須要 在伺服器名稱輸入 hostname\instance name 目前試沒有成功的.... 懇請指教 我研究好幾天了

    2014年8月26日 上午 03:05
  • Is sql browser service running on gw? Need it for named instance connection.
    2014年8月26日 上午 03:09
  • 剛剛試了終於成功了!

    我花了一個多禮拜的時間 

    防火牆剛剛我只有關本機的 外面還有一層防火牆 

    基本上我只有開 1433 port 

    但是剛剛看了外部防火牆的log 訊息 UDP 1434 似乎有 異狀 就把1434Port 打開

    就可以通了!  

    剛剛又上網參考了一下MSDN的文件果然

    預設的執行個體和具名的執行個體所使用的Port 不一樣 

    預設執行個體使用 TCP 1433   具名執行個體使用 UDP 1434

    參考文件如下

    http://technet.microsoft.com/zh-tw/library/ms175483(v=sql.105).aspx

    還以為大家都使用1433... 沒想到 具名執行個體居然不同

    • 已編輯 Lineageshow 2014年8月26日 上午 03:51
    • 已標示為解答 Lineageshow 2014年8月26日 上午 03:52
    2014年8月26日 上午 03:26
  • Named instance uses dynamic port number, it communicates with client via port 1434 (sql browser service) and tells client which port used for sql instance.
    2014年8月26日 下午 01:12
  • SQL Server 即使是預設的執行個體,開 TCPIP 服務時,要開 1433/1434 UDP/TCP ,共四條規則。

    複寫通常是 Agent ,就要開 40001


    不精確的問法,就會得到隨便猜的答案;自己都不肯花時間好好描述問題,又何必期望網友會認真回答?

    2014年8月26日 下午 01:56