В этой действующей базе данных SQL Server 2008 (сборка 10.0.1600) есть таблица Events
, которая содержит столбец text
с именем Details
. (Да, я понимаю, что на самом деле это должен быть столбец varchar(MAX)
, но тот, кто настраивал эту базу данных, делал это не так.)
В этом столбце содержатся очень большие журналы исключений и связанные данные JSON, к которым я пытаюсь получить доступ через SQL Server Management Studio, но всякий раз, когда я копирую результаты из сетки в текстовый редактор, он усекает его до 43679 символов.
Я читал в различных местах в Интернете, что вы можете установить для параметра Максимальное количество символов, извлеченных для данных XML в Tools > Options > Query Results > SQL Server > Results To Grid
значение Неограниченно, а затем выполнить запрос, такой как:
select Convert(xml, Details) from Events
where EventID = 13920
(Обратите внимание, что данные столбца вообще не являются XML. CONVERT
Использование столбца в XML - это просто обходной путь, который я нашел в Googling, что кто-то еще использовал, чтобы обойти ограничение, которое SSMS получает при получении данных из text
или varchar(MAX)
столбец.)
Однако после установки вышеуказанной опции, выполнения запроса и перехода по ссылке в результате я все равно получаю следующую ошибку:
Невозможно показать XML. Произошла следующая ошибка:
Неожиданный конец файла произошел. Строка 5, позиция 220160.
Одним из решений является увеличение количества символов, извлекаемых с сервера для данных XML. Чтобы изменить этот параметр, в меню «Сервис» выберите «Параметры».
Итак, есть идеи о том, как получить доступ к этим данным? Будет ли преобразование столбца в varchar(MAX)
исправить мои проблемы?