2011-08-26 99 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

相關問題