Dans cette base de données SQL Server 2008 en direct (version 10.0.1600), il y a une table Events
, qui contient une colonne text
nommée Details
. (Oui, je réalise que cela devrait en réalité être une colonne varchar(MAX)
, mais la personne qui a mis en place cette base de données ne l'a pas fait de cette manière.)
Cette colonne contient de très grands journaux d'exceptions et de données JSON associées auxquels j'essaie d'accéder via SQL Server Management Studio, mais chaque fois que je copie les résultats de la grille dans un éditeur de texte, il les tronque à 43679 caractères.
J'ai lu à divers endroits sur Internet que vous pouvez définir votre Maximum de caractères récupérés pour les données XML dans Outils > Options > Résultats de requête > SQL Server > Résultats dans la grille
sur Illimité, puis exécuter une requête comme celle-ci :
select Convert(xml, Details) from Events
where EventID = 13920
(Remarquez que les données dans la colonne ne sont pas du tout XML. Convertir la colonne en XML est simplement une solution de contournement que j'ai trouvée en faisant des recherches sur Google et que quelqu'un d'autre a utilisée pour contourner la limite que SSMS a pour récupérer des données à partir d'une colonne text
ou varchar(MAX)
.)
Cependant, après avoir défini l'option ci-dessus, exécuté la requête, et cliqué sur le lien dans le résultat, j'obtiens toujours l'erreur suivante :
Impossible d'afficher le XML. L'erreur suivante s'est produite: La fin inattendue du fichier s'est produite. Ligne 5, position 220160.
Une solution consiste à augmenter le nombre de caractères récupérés depuis le serveur pour les données XML. Pour modifier ce paramètre, dans le menu Outils, cliquez sur Options.
Alors, une idée sur comment accéder à ces données? Est-ce que convertir la colonne en varchar(MAX)
résoudrait mes problèmes?