如何从sql server 2008存储过程中ping一个url

时间:2010-06-29 13:48:56

标签: sql-server sql-server-2008

嘿伙计们,我想通过sql server 2008存储过程ping一个URL。

最好和最简单的方法是什么?

更新:为了更清楚,我只想从存储过程调用一个aspx页面来通知我的aspx页面数据已被修改,aspx需要刷新缓存。

我知道我可以通过sql缓存依赖来实现这一点,但我想使用push而不是pull类型的通知。

3 个答案:

答案 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。