W tej działającej bazie danych SQL Server 2008 (kompilacja 10.0.1600) znajduje się Events
tabela, która zawiera text
kolumnę o nazwie Details
. (Tak, zdaję sobie sprawę, że to właściwie powinna być varchar(MAX)
kolumna, ale ktokolwiek ustawił tę bazę danych, nie zrobił tego w ten sposób).
Ta kolumna zawiera bardzo duże dzienniki wyjątków i powiązanych danych JSON, do których próbuję uzyskać dostęp za pośrednictwem programu SQL Server Management Studio, ale za każdym razem, gdy kopiuję wyniki z siatki do edytora tekstu, obcina je do 43679 znaków.
Czytałem w różnych miejscach w Internecie, że możesz ustawić maksymalną liczbę znaków pobieranych dla danych XML Tools > Options > Query Results > SQL Server > Results To Grid
na nieograniczoną, a następnie wykonać zapytanie takie jak to:
select Convert(xml, Details) from Events
where EventID = 13920
(Zwróć uwagę, że kolumna danych nie jest w ogóle XML. CONVERT
Przekazywanie kolumny do formatu XML to tylko obejście, które znalazłem w Google, a ktoś inny użył go do obejścia limitu, jaki SSMS ma przy pobieraniu danych z kolumny text
lub varchar(MAX)
).
Jednak po ustawieniu powyższej opcji, uruchomieniu zapytania i kliknięciu w link w wyniku nadal otrzymuję następujący błąd:
Nie można wyświetlić XML. Wystąpił następujący błąd: Wystąpił nieoczekiwany koniec pliku. Wiersz 5, pozycja 220160.
Jednym z rozwiązań jest zwiększenie liczby znaków pobieranych z serwera dla danych XML. Aby zmienić to ustawienie, w menu Narzędzia kliknij polecenie Opcje.
Więc masz jakiś pomysł, jak uzyskać dostęp do tych danych? Czy konwersja kolumny, aby varchar(MAX)
naprawić moje nieszczęścia?