Используя Sql Server 2008 r2, я могу заставить процесс работать идеально, выполняя его сам. Когда я настроил его для запуска в качестве задания, двоичное поле обрезается до 2 КБ (2048 символов) каждый раз. Ниже приведены подробности того, что происходит.
Вот основной процесс моей хранимой процедуры.
- Динамически построить SQL-оператор, который вставляет набор данных (обычно от 10 до 15 строк) со связанного сервера в пользовательскую переменную таблицы. (Набор данных в основном содержит информацию о фотографиях. MIME / тип, порядок, описание и двоичный файл (или большой двоичный объект) конкретной фотографии.)
- Эта табличная переменная затем передается другой хранимой процедуре, которая сохраняет набор данных
Как указывалось ранее, когда я выполняю хранимую процедуру, процесс работает отлично. BLOB-объект является полным и создает великолепно выглядящую фотографию. Однако, когда хранимая процедура выполняется с помощью запланированного задания, двоичная строка усекается после 2048 символов. И это происходит каждый раз в обязательном порядке.
Мне удалось определить, что усечение исходит из оператора OPENQUERY, который я использую для извлечения данных из связанного сервера, но не могу понять, ПОЧЕМУ это происходит во время запланированного задания, а не когда я просто запускаю Это. Я бы подумал, что это проблема с разрешением, просто ничего не получится.
Заранее спасибо за помощь, Уилл