2011-05-16 48 views
0

使用Sql Server 2008 R2,我可以让一个进程在我自己执行时完美工作。当我将它设置为作为工作运行时,二进制字段每次都会被截断为2kb(2048个字符)。以下是确切发生的细节。SQL Server 2008 R2:数据在通过预定作业运行但不通过命令行运行时被截断

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

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

如前所述,当我执行存储过程时,该过程完美工作。该blob是一个完整的,并产生一个很好看的照片。但是,通过预定作业执行存储过程时,二进制字符串将在2048个字符后截断。这种情况每次都会发生,而且不会失败。

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

预先感谢您的帮助,威尔

+0

作业步骤的一些示例代码可能会有用。如果您可以获得仍能再现问题的最小代码量,那最好。 – 2011-05-16 20:39:08

回答

1

看一看机制的文档在BOL为TEXTSIZE,并尝试在存储过程将它设置为一个较大的值。

相关问题