我想知道我们是否可以通过Microsoft SQL存储过程检索任何机器(可以是本地或远程)的IP地址,而无需使用INSERT EXECUTE。
答案 0 :(得分:2)
您只需要作为一个起点:
SELECT client_net_address, local_net_address FROM sys.dm_exec_connections
显然,它需要更多工作,但sys.dm_exec_connections
同时具有服务器和客户端IP地址。
编辑:
我建议您查看CLR代码,以便收集SQL Server在您的限制范围内没有的信息。
任何纯T-SQL解决方案都需要运行存储过程,例如xp_cmdshell
,这需要INSERT EXEC。
参数化存储过程必须是自定义扩展的,以避免INSERT EXEC。