提示输入的Sql Agent作业?

时间:2012-11-12 07:28:57

标签: sql sql-server database database-administration

我想编写一个sql代理作业,在执行时提示输入。在sql server中可以吗?该输入将用作sql代理脚本中的变量。

请帮我解决这个问题。

由于

Nitesh Kumar

2 个答案:

答案 0 :(得分:3)

没有。它在SQL服务器中是不可能的。如果要为作业提供一些手动输入,可以在作业(第一步)中创建一个步骤,从一些文件/数据库表等读取输入,然后第二步用户第一步的输出作为输入。 在作业开始执行之前,您必须创建另外的方法来输入数据库表/文件的手动输入。

虽然有一个问题 - 乔布斯应该按照某个时间表运行,你的工作不遵循一些时间表吗?

答案 1 :(得分:2)

可以使用xp_cmdshell运行提示输入的VB脚本或.bat文件,并将数据写回函数。

问题是xp_cmdshell通常因安全原因而关闭,因为它允许SQL中的某个人在托管服务器上执行程序。

此示例使用powerscript获取一些数据,然后将数据写入表中,但它都是从xp_cmdshell执行的

声明@CertFilePath varchar(500) 声明@SQL varchar(1000) 设置@ScriptFilePath ='c:\ myscripts \ SomeScript.vbs'

CREATE TABLE #DataTable (line varchar(255))

INSERT #DataTable EXEC xp_cmdshell @SQL

从#DataTable

中选择*

此代码启用xp_CmdShell

EXEC sp_configure'show advanced options',1 走 - 更新高级选项的当前配置值。 RECONFIGURE 走 - 启用该功能。 EXEC sp_configure'xp_cmdshell',1 走 - 更新此功能的当前配置值。 RECONFIGURE GO

此代码禁用xp_cmdshell

- 在此结束时将xp_cmdshell enabled = false / reset设置为disabled EXEC sp_configure'show advanced options',0 走 - 更新高级选项的当前配置值。 RECONFIGURE 走 - 启用该功能。 EXEC sp_configure'xp_cmdshell',0 走 - 更新此功能的当前配置值。 RECONFIGURE GO