嘿伙计们,我想通过sql server 2008存储过程ping一个URL。
最好和最简单的方法是什么?
更新:为了更清楚,我只想从存储过程调用一个aspx页面来通知我的aspx页面数据已被修改,aspx需要刷新缓存。
我知道我可以通过sql缓存依赖来实现这一点,但我想使用push而不是pull类型的通知。
答案 0 :(得分:4)
您可以编写一个接受主机/ IP地址字符串的CLR函数,并返回ping所用的秒数,如果无法ping则返回-1。
答案 1 :(得分:2)
如果您启用了xp_cmdshell,则可以使用:
EXEC sys.xp_cmdshell 'PING 127.0.0.1'
请确保您了解启用xp_cmdshell的安全隐患。默认情况下它是关闭的原因。
答案 2 :(得分:0)
SQL缓存依赖通过SQL Service Broker执行 use a push notification。您只需将应用程序设置为subscribe to notifications即可。那肯定是我的第一选择。
如果由于某些原因不合适,使用对象自动化this approach可能会对您有用吗? 编辑实际上我只是阅读了文章下的评论,原作者建议不要在SQL2005中使用它,而是在需要请求URL时使用CLR。