0

我有一個存儲過程,它將從接收位置中選擇MQ文件,處理它並將其放在保存位置。SQL作業和存儲過程

目前,當我手動執行它時,此存儲過程不起作用。

但是,文件在每天的特定時間自動保存在保存位置。我不知道哪個存儲過程正在爲此調用。

在此特定時間每天都有一個SQL Server作業。這項工作正在調用我手動調用的相同存儲過程。

當我嘗試手動運行SQL作業時,文件未被拾取。

MQ中是否有任何機制選擇文件並將其放入接收位置?

+0

當您手動運行它時,它是否以與自動運行時相同的用戶身份運行? – geofftnz 2009-07-22 05:34:10

+0

是的,它運行在同一個用戶! – SmartestVEGA 2009-07-22 06:05:47

+0

你可以發佈存儲過程的代碼嗎? – 2009-07-22 07:18:48

回答

0

我最初的猜測是:域訪問權限。當該過程由SQL代理調用時,它將在「運行」SQL代理服務的帳戶的權限(域訪問權限)下運行。此帳戶對您正在訪問的文件夾擁有適當的訪問權限。

當您登錄並調用過程時,它正在您的訪問權限下運行,並且您可能沒有足夠的權限來執行列出的工作。

它可能比這更復雜。一旦你離開了簡單的數據庫操作領域,並開始使用SQL來混淆你的網絡,那麼就有了一個代理帳戶的世界,並且你必須處理一些模糊的功能。它可以並且已經完成,但配置起來很簡單。很大程度上取決於你如何(以及代碼)已經實施。

+0

我剛剛注意到這個問題最初發布的日期/時間。 FEH。 – 2012-05-03 14:01:04