2011-08-26 101 views
2

有没有办法通过SQL Server代理执行我硬盘上的.sql脚本,而无需使用xp_cmdshellsql_cmd?使用SQL Server 2008通过SQL Server代理从文件系统执行.sql文件

我要寻找一个简单的解决方案,如:

include 'c:\mysql\test.sql' 

谢谢!

+3

你已经接受了一个答案,从未投过票? –

+2

@Aaron - 你需要15个代表才能投票。 –

+2

@Martin好吧,但如果他们迄今接受了多个问题,他们不会更接近吗? –

回答

4

也许你应该考虑使用Windows计划任务,而不是SQL Server代理。无论您如何从磁盘读取文件,它都会出现相同类型的限制,从而阻止您使用xp_cmdshellsqlcmd(假设原因不仅仅是恐惧)。

+0

感谢Aaron的回应。我想使用SQL服务器代理,因为有额外的功能(我可以将我的sql的运行分解成步骤并在完成时将其发送出去。)那么你是否说过没有办法通过执行sql代理没有使用xp_cmdshell?谢谢。 – user648869

+3

SQL Server需要一些方法来查找文件 - 默认情况下文件系统是非常不受限制的。虽然你仍然没有解释为什么你不想使用'xp_cmdshell'或'sqlcmd',或许你会以错误的方式去解决它。而不是SQL Server去查找你的.sql脚本,为什么不自动化有关将.sql脚本更改为SQL Server的部分?为什么它必须是.sql脚本而不是存储过程? –

+0

感谢您的回复。我有几个我想在磁盘上维护的sql脚本。将存储过程作为代理中的步骤存在会增加一个我试图避免的维护步骤。我在这个领域是一个全面的nube,我不知道当他们改变时我可以自动将脚本编入代理。这听起来像是一种解决方案,可能对我有用。 – user648869

相关问题