2014-03-05 41 views
1

我正在開發一個應用程序,我的數據庫是一個Windows Azure SQL數據庫。我可以使用我的SQL數據庫連接在本地計算機上運行的應用程序嗎?我必須在多臺計算機上運行此應用程序,並且我無法在Azure上添加每個客戶端的IP地址。如何在不爲每個客戶端IP地址添加防火牆規則的情況下將多個客戶端連接到Windows Azure SQL數據庫?

+0

您需要_database's_ IP地址進行連接,而不是客戶端。此IP不會更改。還是你問如何避免將每個客戶端的IP添加到某些防火牆/ VPN配置? –

+0

ya如何避免添加每個客戶端的IP – user3194012

+0

您能否澄清:您是否在詢問Azure SQL數據庫的防火牆規則? –

回答

3

Windows Azure SQL數據庫不適合直接連接到多個客戶端設備。

  • 集成的防火牆構成直接的障礙 - 它試圖保持攻擊面數據庫來最低,有許多客戶是要立即創建的一個問題。

  • 數據庫是在這導致連接中斷的一個高於正常電平這樣的方式進行管理。客戶必須檢測到「瞬態」錯誤並執行重試策略來優雅地處理這一問題。

  • 身份驗證僅限於用戶名密碼。如果您想進行任何類型的單點登錄或支持第三方身份的身份來源,SQL數據庫不能支持它。

預計您的客戶端設備將通過一些中間層應用程序(通常運行在Windows Azure中),而不是自己直接訪問。中間層執行數據庫查詢並將結果返回給客戶端應用程序。

這是一個典型的首選的設計,因爲你可以添加你需要包括任何的身份驗證和授權方案,而無需在SQL數據庫中創建的任何附加登錄和用戶,或者經常配置SQL用戶權限。

如果你真的想往下走客戶端連接重直接的路線,你別無選擇,只能添加防火牆規則,讓客戶端連接。

你可以動態地創建使用某種註冊工具的,當你安裝你的用戶的機器上運行應用程序的防火牆規則。您可以利用Windows Azure PowerShell Cmdlet來完成這項工作。

如果您知道你的客戶都打算從一個非常具體的IP範圍進行連接,你可以創建一條規則,啓用IP範圍,但比你想的是會暴露你的數據庫可能更多的客戶。

否則,你看網絡級解決方案,它超出我的知識範圍和題外話了StackOverflow上。

+0

很好的答案!請您澄清以下內容:「Windows Azure SQL數據庫不適合直接連接到多個客戶端設備」? –

+0

@GauravMantri我爲我的意見添加了一些理由 - 感謝讓我補充一點,這是一個更好的答案。 –

相關問題