Мне нужно написать тест, требующий хранения больших объемов данных в текстовом столбце.Как вставить более 8k в текстовый столбец SQL Server с помощью REPLICATE()?
Когда я пытаюсь это (вставить 2 миллиарда X символов):
INSERT INTO table VALUES (REPLICATE('X', 2000000000))
Это то, что я получаю:
SELECT *, DATALENGTH(textCol) FROM table
XXXXXXXXXXXXX .... 8000
Я надеялся на более чем 8000. Любые идеи, в которых я ошибаюсь? Мой google-fu терпит неудачу.
Caveat: Да, текстовые столбцы устарели. Я уверен, что есть много очень правильных и разумных причин, почему плохой идеей хочется использовать их в качестве хранилищ массовых данных. Предположим, что я имею дело с унаследованной системой, в которой есть текстовые столбцы, хранящие большие объемы объемных данных, и я должен написать тесты, чтобы выяснить, как мой бит стороннего кода может справиться с этим.
Мотивация для его рекомендации (http://msdn.microsoft.com/en-us/library/ms187993 .aspx): ** ** ntext **, ** текст ** и ** образ ** типы данных будут удалены в будущей версии Microsoft SQL Server. Избегайте использования этих типов данных в новых разработках и планируйте измените приложения, которые в настоящее время их используют. Вместо этого используйте nvarchar (max), varchar (max) и varbinary (max). " – MaD70