SQL Server 2008 r2: данные усекаются при выполнении через запланированное задание, но не через командную строку - PullRequest
0 голосов
/ 17 мая 2011

Используя Sql Server 2008 r2, я могу заставить процесс работать идеально, выполняя его сам. Когда я настроил его для запуска в качестве задания, двоичное поле обрезается до 2 КБ (2048 символов) каждый раз. Ниже приведены подробности того, что происходит.

Вот основной процесс моей хранимой процедуры.

  • Динамически построить SQL-оператор, который вставляет набор данных (обычно от 10 до 15 строк) со связанного сервера в пользовательскую переменную таблицы. (Набор данных в основном содержит информацию о фотографиях. MIME / тип, порядок, описание и двоичный файл (или большой двоичный объект) конкретной фотографии.)
  • Эта табличная переменная затем передается другой хранимой процедуре, которая сохраняет набор данных

Как указывалось ранее, когда я выполняю хранимую процедуру, процесс работает отлично. BLOB-объект является полным и создает великолепно выглядящую фотографию. Однако, когда хранимая процедура выполняется с помощью запланированного задания, двоичная строка усекается после 2048 символов. И это происходит каждый раз в обязательном порядке.

Мне удалось определить, что усечение исходит из оператора OPENQUERY, который я использую для извлечения данных из связанного сервера, но не могу понять, ПОЧЕМУ это происходит во время запланированного задания, а не когда я просто запускаю Это. Я бы подумал, что это проблема с разрешением, просто ничего не получится.

Заранее спасибо за помощь, Уилл

1 Ответ

1 голос
/ 17 мая 2011

Взгляните на документацию в BOL для TEXTSIZE и попробуйте установить для нее большее значение в хранимой процедуре.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...