2013-08-25 67 views
1

我在Azure網絡中的服務器之間建立SQL連接真正困難。真奇怪的是,我可以從VM網絡外的家用機器連接到SQL。這似乎是來自VM域內的某種類型的網絡問題,我還沒有找到。無法連接到Azure網絡內的SQL

我的配置如下:

  • 我有三個虛擬機(活動目錄,SQL服務器和應用服務器)
  • 我試圖建立從應用服務器到SQL Server SQL連接
  • 兩個虛擬機的Windows Server 2012中
  • 所有服務器都是一樣的蔚藍網絡,親和力組,域
  • 連接到域的所有服務器,並有知識產權的
  • 我能看到的DNS解析,因爲我可以使用SQL Server的計算機名稱
  • 我創建防火牆規則兩臺服務器
  • SQL服務器監聽允許輸入/輸出端口1433 ping命令從應用程序服務器的SQL服務器在默認端口,因爲這個命令在SQL Server上執行(我不理解0.0.0.0 IP,雖然這可能是一個問題)(我可以在家中連接,所以我認爲這是好的)

    netstat - 一個|找到 「:1433」

    TCP 0.0.0.0:1433 0.0.0.0:0 LISTENING

    TCP [::]:1433 [:]:0 LISTENING

  • 我創建公共&私人端點對SQL的默認SQL端口1433

  • 其實我可以從我家的機器連接到SQL Server
  • 我已經暫時關閉防火牆在兩臺服務器上
  • 來自應用服務器的tracert看起來像這樣。

    tracert的spsql01

    跟蹤路線spsql01 [10.0.0.7]

    在最大的30個酒花:

    1 * * *請求超時。

    2 * * *請求超時。

    3 * * *請求超時。

    4 5毫秒< 1毫秒1毫秒spsql01 [10.0.0.7]

    跟蹤完成。

  • 在App Server上,我創建了一個connection.udl文件來測試與我的SQL Server的連接,但它從未通過連接測試。 Failed Connection

回答

0

您是否製作了您的VM在Windows Azure中相應的Windows Azure SQL數據庫防火牆規則?您可以爲所有Windows Azure使用特殊的0.0.0.0,或者更好地,爲您的IaaS雲服務(而不是各個VM的專用DIP)提供公共VIP。後者將防火牆限制爲僅限您的雲服務,因爲與WASD的出站連接將使用您的公共VIP。請注意,如果您刪除(或停止/取消分配)您雲服務中的所有虛擬機,您將失去VIP。

+0

如果我的SQL服務器不是SQL Azure數據庫,這個建議是否仍然適用?它是運行SQL Server的Win Server 2012。感謝您的幫助 – ChiliYago

+0

編號我所說的一切只適用於Windows Azure SQL數據庫而不是SQL Server。如果所有服務器都在同一個VNET上,那麼您應該能夠使用其私有DIP訪問SQL Server,而無需通過公共VIP - 即,您不應該(需要)公開雲服務上的公共端點。在Windows Azure培訓工具包中,有一個使用VNET從PaaS前端訪問SQL Server的例子 - 這應該向您顯示在VNET上打開SQL Server VM到其他服務器所需的步驟。 –

+0

是的,我意識到它**應**工作,但它是奇怪還沒有。神祕... – ChiliYago