Dans cette base de données SQL Server 2008 (build 10.0.1600) en direct, il y a une Events
table, qui contient une text
colonne nommée Details
. (Oui, je réalise que cela devrait en fait être une varchar(MAX)
colonne, mais celui qui a créé cette base de données ne l'a pas fait de cette façon.)
Cette colonne contient de très gros journaux d'exceptions et des données JSON associées auxquelles 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 nombre maximal de caractères récupérés pour les données XML Tools > Options > Query Results > SQL Server > Results To Grid
sur Illimité, puis effectuer une requête telle que celle-ci:
select Convert(xml, Details) from Events
where EventID = 13920
(Notez que les données sont une colonne n'est pas du tout XML. La CONVERT
conversion de la colonne en XML est simplement une solution de contournement que j'ai trouvée sur Google et que quelqu'un d'autre a utilisée pour contourner la limite que SSMS a de 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: une fin de fichier inattendue s'est produite. Ligne 5, position 220160.
Une solution consiste à augmenter le nombre de caractères récupérés sur le serveur pour les données XML. Pour modifier ce paramètre, dans le menu Outils, cliquez sur Options.
Alors, une idée sur la façon d'accéder à ces données? Est-ce que convertir la colonne pour varchar(MAX)
résoudre mes problèmes?