У меня есть поле для хранения некоторых данных, поле объявлено как varchar(max). Насколько я понимаю, это должно быть сохранение 2^31 - 1символов, но когда я ввожу некоторый контент более 8000 символов, он отключает все остальное.
Я проверил, что все данные включены в мою инструкцию по обновлению, и запрос везде выглядит нормально, но когда я выбираю данные обратно, они обрезаются.
Данные усекаются при их отображении на моем веб-сайте, а также при использовании SSMS для select content from table.
select DATALENGTH (content) from table возвращается как 8000.
Я установил данные с помощью этого: update table set content = 'my long content' where id = 1. В контенте много HTML, но я не вижу в этом проблем. Единственное , что я могу видеть , что я делаю, заменяя все "с , ''как это введенное пользователем содержимое (не помню , почему я сделал это сейчас).
Мне удалось заставить контент вводиться правильно, удалив все одинарные кавычки в контенте, поэтому я думаю, что что-то странное происходит с моими данными, а не с базой данных.
Должен ли я делать что-то особенное с запросом, чтобы использовать varchar(max)поле?
Использование: SQL Server 2008 (10.50) 64 бит.