Как указано в спецификации Excel и ограничения максимальное количество символов, которое можно сохранить в одной ячейке Excel, составляет 32 767 символов; следовательно, почему ваши данные усекаются.
Возможно, вам лучше экспортировать в CSV, , однако , обратите внимание, что квотированные файлы CSV не поддерживаются в bcp
/ BULK INSERT
до SQL Server 2019 (в настоящее время в режиме предварительного просмотра). Вы можете использовать такие символы, как ||
для обозначения разделенного поля, однако, если у вас есть какие-либо разрывы строк, вам нужно будет также выбрать другой разделитель строк. Однако SSIS и другие инструменты ETL do поддерживают кавычки, идентифицированные CSV-файлы; так что вы можете использовать что-то подобное.
В противном случае, если вам нужно экспортировать такие длинные значения и вы хотите использовать Excel как можно чаще (что я лично лично не рекомендую из-за этих ужасных драйверов ACE), я бы предложил экспортировать значения (n)varchar(MAX)
в что-то еще, например, текстовый файл, и именование каждого файла со значением вашего Первичного ключа. Затем, когда вы импортируете данные обратно, вы можете снова извлечь значение (n)varchar(MAX)
из каждого отдельного файла.