W tej żywej bazie danych SQL Server 2008 (kompilacja 10.0.1600) znajduje się tabela Events
zawierająca kolumnę text
o nazwie Details
. (Tak, zdaję sobie sprawę, że w rzeczywistości powinna to być kolumna varchar(MAX)
, ale ktokolwiek skonfigurował tę bazę danych nie zrobił tego w ten sposób.)Jak wyświetlić pełną zawartość kolumny tekstowej lub varchar (MAX) w programie SQL Server 2008 Management Studio?
Ta kolumna zawiera bardzo duże dzienniki wyjątków i powiązane dane JSON, do których próbuję uzyskać dostęp za pośrednictwem SQL Server Management Studio, ale ilekroć kopiuję wyniki z siatki do edytora tekstowego, przycina się go na 43679 znaków.
Czytałem na różnych miejscach w Internecie, które można ustawić maksymalny Postacie Źródło dla danych XML w Tools > Options > Query Results > SQL Server > Results To Grid
do nieograniczonej, a następnie wykonać kwerendę takich jak to:
select Convert(xml, Details) from Events
where EventID = 13920
(Należy pamiętać, że danych jest kolumna nie jest XML w ogóle. CONVERT
ing kolumny XML jest jedynie obejście znalazłem od Googling, że ktoś użył, aby ominąć limit SSMS ma od pobierania danych z kolumny text
lub varchar(MAX)
.)
Jednak po ustawieniu powyższej opcji działa kwerenda, a kliknięcie na link w wyniku, wciąż pojawia się następujący błąd:
Unable to show XML. The following error happened: Unexpected end of file has occurred. Line 5, position 220160.
One solution is to increase the number of characters retrieved from the server for XML data. To change this setting, on the Tools menu, click Options.
Więc jakiś pomysł, w jaki sposób uzyskać dostęp do tych danych? Czy konwersja kolumny na varchar(MAX)
naprawi moje nieszczęścia?
użyłem mieć narzędzia niestandardowe napisany tylko w celu uzyskania dostępu do pól tekstowych. To było bardzo denerwujące. – Jaxidian