J'essaie d'exécuter la requête assez simple suivante dans SQL Server Management Studio:
SELECT TOP 1000 *
FROM
master.sys.procedures as procs
left join
master.sys.parameters as params on procs.object_id = params.object_id
Cela semble tout à fait correct, mais je continue à avoir l'erreur suivante:
Msg 102, Niveau 15, Etat 1, Ligne 6
Syntaxe incorrecte près de ''.
Cela fonctionne si je retire la jointure et ne fais qu'une simple sélection:
SELECT TOP 1000 *
FROM
master.sys.procedures as procs
Mais j'ai besoin de la jointure pour travailler. Je n'ai même pas le la chaîne '' dans cette requête, donc je ne peux pas comprendre ce qu'elle n'aime pas.
De tels problèmes inattendus peuvent apparaître lorsque vous copiez le code depuis une page Web ou un courrier électronique et que le texte contient des caractères non imprimables tels que le CR individuel ou LF et les espaces insécables.
L'erreur pour moi est que j'ai lu l'instruction SQL à partir d'un fichier texte et que le fichier texte a été enregistré au format UTF-8 avec le format BOM (marque d'ordre d'octet).
Pour résoudre ce problème, j'ai ouvert le fichier dans Notepad ++ et sous Encodage, j'ai choisi UTF-8. Vous pouvez également supprimer les trois premiers octets du fichier avec un éditeur hexadécimal.