使用 Sql Server 2008 r2,我可以让进程在自己执行时完美运行。当我将其设置为作为作业运行时,二进制字段每次都会被截断为 2kb(2048 个字符)。以下是正在发生的事情的详细信息。
这是我的存储过程的基本过程。
- 动态构建将数据集(通常为 10 到 15 行)从链接服务器插入到用户定义的表变量的 sql 语句。(数据集基本上包含有关照片的信息。mime/type、顺序、描述以及特定照片的二进制(或 blob)。)
- 然后将该表变量传递给保存数据集的另一个存储过程
如前所述,当我执行存储过程时,该过程完美运行。该 blob 是一个完整的并生成一张漂亮的照片。但是,当通过计划作业执行存储过程时,二进制字符串在 2048 个字符后被截断。这种情况每次都会发生。
我已经能够确定截断来自我用来从链接服务器中提取数据的 OPENQUERY 语句,但我无法弄清楚为什么它会在计划的作业期间发生,而不是在我运行它时发生。我认为这是一个许可问题,它只是无法撤回任何东西。
提前感谢您的帮助,威尔