![如何设置具有流量拦截功能的 TCP/IP 代理(在本例中为 MS SQL 流量)](https://linux22.com/image/608190/%E5%A6%82%E4%BD%95%E8%AE%BE%E7%BD%AE%E5%85%B7%E6%9C%89%E6%B5%81%E9%87%8F%E6%8B%A6%E6%88%AA%E5%8A%9F%E8%83%BD%E7%9A%84%20TCP%2FIP%20%E4%BB%A3%E7%90%86%EF%BC%88%E5%9C%A8%E6%9C%AC%E4%BE%8B%E4%B8%AD%E4%B8%BA%20MS%20SQL%20%E6%B5%81%E9%87%8F%EF%BC%89.png)
我想设置一个 MS SQL 代理服务器。
它应该 1:1 转发所有请求并使其能够记录下来,并根据我设置的一些替换规则修改一些请求或答案。
也许一些 TCP IP 网络软件或通用代理可以做到这一点,但更好的是一些专门的 MS SQL 工具。
我们仍在使用 SQL Server 2005
答案1
这不太可能与标准网络软件和正则表达式一起使用,因为 SQL Server 使用二进制协议表格数据流 (TDS)。
您可能需要使用类似这样的专门应用程序自由TDS或者財產劑解码、修改、转发和响应请求。
如果您担心安全性,有几种商业产品提供数据库防火墙功能。例如,审计保险库和数据库防火墙来自 Oracle(是的,它也适用于 SQL Server)或数据库防火墙来自 GreenSQL。
从架构角度来看,如果这是一个正在设想的全新应用程序,您可能需要查看不是直接公开 SQL 服务器,但在 Web 服务层处理这种逻辑。
编辑:可以让 SQL Server 使用 HTTP 端点 (SOAP) 来处理特定项目,但此功能已被弃用,并且在 SQL 2012 中删除,因此您不应将其视为受良好支持的功能。他们的建议是使用 WCF 在 Web 服务层处理此问题。