Sql-Server
我可以在不同網路上的伺服器之間設置連結 SQL 伺服器連接嗎?
我們在託管公司異地託管了一個生產 SQL 伺服器,並且我們在自己的網路中有一個暫存環境。我們希望能夠設置一個 SQL 作業,定期將臨時伺服器上的表中的內容複製到 prod,我認為我們需要設置一個連結伺服器連接來執行此操作。我需要讓託管公司做什麼才能讓我們進行設置?我們擁有對生產伺服器的 RDP 訪問權限,我只需要從託管公司的角度了解需要進行哪些網路和安全配置,以便我可以要求他們這樣做。
連結伺服器不是最佳選擇。
- 它打開 SQL Server 進行遠端 T-SQL 執行,一個非常嚴重的安全漏洞
- 由於涉及不同的域,它需要基於 SQL 密碼的身份驗證
- 面對參差不齊的連接時,它不會提供任何冗餘
- TDS 作為一種協議不是為速度而設計的
一個更好的選擇是使用Service Broker:
- SSB 在不允許任意 T-SQL 命令的專用埠上執行,例如鍊接伺服器
- SSB 支持跨不同域的基於證書的身份驗證
- 消息碎片和傳遞公平性確保在不良/慢速連接上的平穩執行
- SSB 使用為速度而設計的高吞吐量協議,與數據庫鏡像中使用的相同協議。
如果您堅持使用連結伺服器,那麼您必須:
- 使 SQL Server 能夠在公共 Internet 上偵聽定址
- 啟用 TCP ion 伺服器並在防火牆上打開 SQL 偵聽埠(預設 TCP 1433)。如果伺服器偵聽非預設埠,則必須啟動 SQL Browser 服務並在防火牆上打開埠 1434 UDP,並允許 sqlservr.exe 在防火牆上打開任意埠。
- 您必須啟用 SQL 身份驗證以允許使用基於 SQL 的密碼。
- 要保護流量,您應該確保使用 SSL,請參閱如何使用 Microsoft 管理控制台為 SQL Server 實例啟用 SSL 加密和如何啟用通道加密。
- 檢查、再檢查和再檢查$$ sa $$login 有一個防彈密碼,只有您絕對 100% 信任的人知道該密碼。您向網際網路開放的 TDS 埠將受到持續不斷的暴力攻擊$$ sa $$來自一百萬個自動化機器人。