0

使用 Sql Server 2008 r2,我可以让进程在自己执行时完美运行。当我将其设置为作为作业运行时,二进制字段每次都会被截断为 2kb(2048 个字符)。以下是正在发生的事情的详细信息。

这是我的存储过程的基本过程。

  • 动态构建将数据集(通常为 10 到 15 行)从链接服务器插入到用户定义的表变量的 sql 语句。(数据集基本上包含有关照片的信息。mime/type、顺序、描述以及特定照片的二进制(或 blob)。)
  • 然后将该表变量传递给保存数据集的另一个存储过程

如前所述,当我执行存储过程时,该过程完美运行。该 blob 是一个完整的并生成一张漂亮的照片。但是,当通过计划作业执行存储过程时,二进制字符串在 2048 个字符后被截断。这种情况每次都会发生。

我已经能够确定截断来自我用来从链接服务器中提取数据的 OPENQUERY 语句,但我无法弄清楚为什么它会在计划的作业期间发生,而不是在我运行它时发生。我认为这是一个许可问题,它只是无法撤回任何东西。

提前感谢您的帮助,威尔

4

1 回答 1

1

查看 BOL 中的 TEXTSIZE 文档,并尝试在存储过程中将其设置为更大的值。

于 2011-05-17T11:19:59.387 回答