我正在開發一個應用程序,我的數據庫是一個Windows Azure SQL數據庫。我可以使用我的SQL數據庫連接在本地計算機上運行的應用程序嗎?我必須在多臺計算機上運行此應用程序,並且我無法在Azure上添加每個客戶端的IP地址。如何在不爲每個客戶端IP地址添加防火牆規則的情況下將多個客戶端連接到Windows Azure SQL數據庫?
回答
Windows Azure SQL數據庫不適合直接連接到多個客戶端設備。
集成的防火牆構成直接的障礙 - 它試圖保持攻擊面數據庫來最低,有許多客戶是要立即創建的一個問題。
數據庫是在這導致連接中斷的一個高於正常電平這樣的方式進行管理。客戶必須檢測到「瞬態」錯誤並執行重試策略來優雅地處理這一問題。
身份驗證僅限於用戶名密碼。如果您想進行任何類型的單點登錄或支持第三方身份的身份來源,SQL數據庫不能支持它。
預計您的客戶端設備將通過一些中間層應用程序(通常運行在Windows Azure中),而不是自己直接訪問。中間層執行數據庫查詢並將結果返回給客戶端應用程序。
這是一個典型的首選的設計,因爲你可以添加你需要包括任何的身份驗證和授權方案,而無需在SQL數據庫中創建的任何附加登錄和用戶,或者經常配置SQL用戶權限。
如果你真的想往下走客戶端連接重直接的路線,你別無選擇,只能添加防火牆規則,讓客戶端連接。
你可以動態地創建使用某種註冊工具的,當你安裝你的用戶的機器上運行應用程序的防火牆規則。您可以利用Windows Azure PowerShell Cmdlet來完成這項工作。
如果您知道你的客戶都打算從一個非常具體的IP範圍進行連接,你可以創建一條規則,啓用IP範圍,但比你想的是會暴露你的數據庫可能更多的客戶。
否則,你看網絡級解決方案,它超出我的知識範圍和題外話了StackOverflow上。
很好的答案!請您澄清以下內容:「Windows Azure SQL數據庫不適合直接連接到多個客戶端設備」? –
@GauravMantri我爲我的意見添加了一些理由 - 感謝讓我補充一點,這是一個更好的答案。 –
- 1. wsDualHttpBinding客戶端地址和防火牆
- 2. Azure客戶端IP地址
- 3. 客戶端通過防火牆客戶端
- 4. 如何從SQL Server數據庫獲取客戶端IP地址
- 5. 防火牆後的JMS客戶端
- 6. 客戶端到客戶端的連接?
- 7. WebClient客戶端IP地址
- 8. 客戶端ip地址
- 9. 具有多個IP地址的客戶端 - 如何?
- 10. 如何作爲(Windows)客戶端連接到mySQL數據庫?
- 11. 數據庫表命名規範客戶端,產品,客戶端產品情況
- 12. WCF客戶端和防火牆
- 13. 獲取mule中的每個請求的客戶端IP地址
- 14. 客戶端的IP地址/ MAC地址
- 15. Erlang:客戶端IP地址,發送數據包到特定的客戶端?
- 16. 將SSMS客戶端連接到與'AnyAny'防火牆規則失敗的遠程SQL Server實例
- 17. 如何獲取Node.js中連接客戶端的IP地址?
- 18. SQL Server 2000獲取連接客戶端的IP地址
- 19. IP地址爲「XXX.XXX.XXX.XX」的Windows Azure客戶端不允許訪問服務器
- 20. 在iis 7.0中寫入客戶端ip登錄防火牆
- 21. 如何將多個iTunes客戶端連接到一個Mediaserver
- 22. 如何區分具有相同IP地址的多個客戶端的連接?
- 23. ServerSocket +客戶端套接字 - 如何獲取客戶端的IP地址?
- 24. 如何獲取客戶端IP地址
- 25. 如何獲取客戶端IP地址
- 26. Mongodb單個數據庫vs每個客戶端的數據庫vs每個客戶端的數據庫
- 27. 如何確定客戶端連接的服務器IP地址
- 28. 連接到另一個客戶端
- 29. 如何衡量每個客戶端的SQL Azure帶寬使用情況?
- 30. 多個NetworkStreams爲每個客戶端
您需要_database's_ IP地址進行連接,而不是客戶端。此IP不會更改。還是你問如何避免將每個客戶端的IP添加到某些防火牆/ VPN配置? –
ya如何避免添加每個客戶端的IP – user3194012
您能否澄清:您是否在詢問Azure SQL數據庫的防火牆規則? –