Ho un campo per memorizzare alcuni dati, il campo è dichiarato come varchar(max)
. Secondo la mia comprensione, questo dovrebbe essere l'archiviazione dei 2^31 - 1
caratteri, ma quando inserisco un contenuto di oltre 8000 caratteri, il resto viene interrotto.
Ho verificato che tutti i dati sono inclusi nella mia dichiarazione di aggiornamento e che la query sembra soddisfacente ovunque, ma quando seleziono i dati di back out sono stati tagliati.
I dati vengono troncati quando li visualizzo sul mio sito Web e anche quando utilizzo SSMS per select content from table
.
select DATALENGTH (content) from table
torna come 8000.
Ho impostato i dati usando questo: update table set content = 'my long content' where id = 1
. Il contenuto ha un sacco di HTML in ma non riesco a vedere che causa problemi. L'unica cosa che riesco a vedere è che sto sostituendo tutto "
con ''
il contenuto inserito dall'utente (non ricordo perché l'ho fatto ora).
Sono riuscito a inserire correttamente il contenuto rimuovendo tutte le virgolette singole nel contenuto, quindi penso che stia succedendo qualcosa di strano con i miei dati piuttosto che con il database.
Dovrei fare qualcosa di speciale con la query per utilizzare un varchar(max)
campo?
Utilizzo: SQL Server 2008 (10.50) a 64 bit.