Хорошо Я использую SQL Server 2008 и имею поле таблицы типа VARCHAR(MAX)
. Проблема в том, что при сохранении информации с использованием Hibernate
содержимое поля VARCHAR(MAX)
становится усеченным. Я не вижу сообщений об ошибках ни на сервере приложений, ни на сервере базы данных.Исправлено поле SQL Server
Содержимое этого поля является простым текстовым файлом. Размер этого текстового файла - 383 КБ.
Это то, что я сделал до сих пор, чтобы устранить эту проблему:
Изменено поле базы данных из
VARCHAR(MAX)
в TEXT и та же проблема возникает .Использовал SQL Server Profiler, и я заметил, что полное содержание текста это время
получен сервером базы данных, но по какой-то причине профайлер зависает при попытке для просмотра SQL с проблемой усечения. Как я уже сказал, незадолго до того, как он замораживается, я заметил, что содержимое полнотекстового файла (383 КБ) получено, поэтому может быть проблемой базы данных.
Неужели кто-нибудь столкнулся с этой проблемой раньше? Любые идеи, что вызывает это усечение?
ПРИМЕЧАНИЕ: просто хочу упомянуть, что я просто вхожу в SQL Studio и просто копирую содержимое поля TEXT и вставляя его в Textpad. Вот как я заметил, что он усекается.
Заранее спасибо.
предложение, которое не имеет ничего общего с моим ответом: прекратить использование Profiler. Вместо этого используйте трассировку на стороне сервера. –
@AaronBertrand Не могли бы вы объяснить, почему вы советуете Профилиру? – Apostrofix
@Apostrofix Поскольку Profiler может привести ваш сервер на колени. Таким образом, может быть след, а значит, и расширенные события, но гораздо проще с Profiler. Из [этой статьи] (http://sqlperformance.com/2012/10/sql-trace/observer-overhead-trace-extended-events): 'SQL Server Profiler - это инструмент, которого следует избегать на занятых серверах производства, как показано в десятикратном увеличении продолжительности и значительном сокращении пропускной способности для повтора. « –