利用 SQL Server Agent 排程,定期呼叫 HTTP 端點(如 https://srm.rapoo.cn?op=sapintferace&i=1&t=1)觸發外部系統資料同步。
EXEC master..xp_cmdshell 'curl "https://srm.rapoo.cn?op=sapintferace&i=1&t=1"'
或直接用內建 powershell -Command "Invoke-WebRequest ..."(Windows 2012+)。
-- 顯示進階選項並開啟 EXEC sp_configure 'show advanced options', 1; RECONFIGURE; EXEC sp_configure 'xp_cmdshell', 1; RECONFIGURE; -- 關閉方式 EXEC sp_configure 'show advanced options', 1; RECONFIGURE; EXEC sp_configure 'xp_cmdshell', 0; RECONFIGURE;
EXEC sp_addextendedproc 'xp_cmdshell', 'xplog70.dll' 或 'xpsql70.dll'EXEC master..xp_cmdshell ...。| 方案 | 優點 | 缺點 |
|---|---|---|
| xp_cmdshell + curl | 簡單、無需開發 | 安全風險高、依賴 OS 工具 |
| CLR 預存程序 (HttpWebRequest) | 受管理代碼、權限可控 | 需部署組件、CLR 啟用 |
| Service Broker + 外部啟動器 | 非同步、可靠、解耦 | 架構複雜、維護成本高 |
| 外部排程器 | 不佔用 SQL 資源、安全 | 需額外部署監控 |
建議:簡單內部同步可用 xp_cmdshell(嚴格限制權限);核心業務建議遷移至 CLR 或外部排程器。