我们正在寻找一种从SQL Server 2008&较新的存储过程。我们无需从此服务获取任何信息。我们只需要强制调用在存储过程的中间运行。
我找到了一些第三方选项或CLR;但我拒绝认为这不是一个更简单的方法,因为我们只需要拨打电话而不需要任何回报。
希望有人能说清楚。谢谢!
答案 0 :(得分:6)
您可以创建一个SQL代理作业来运行PowerShell脚本,然后通过msdb.dbo.sp_start_job
运行该作业。这样你就不需要任何外部脚本或实用程序,也不需要任何SQL-CLR。
你的工作步骤如下:
$request = [System.Net.WebRequest]::Create('http://stackoverflow.com/')
$result = $request.GetResponse()
答案 1 :(得分:2)
我至少可以想到两种方法:
1)可能更喜欢的方式:
创建一个C#dll并从存储过程示例中调用其函数: How to call C# function in stored procedure
2)在CURL utility的帮助下呼叫休息服务。
DECLARE @PassedVariable VARCHAR(100)
DECLARE @CMDSQL VARCHAR(1000)
SET @PassedVariable = 'SqlAuthority.com'
SET @CMDSQL = 'c:findword.bat' + @PassedVariable
EXEC master..xp_CMDShell @CMDSQL
have the call to the ws inside the bat file