Предложение Тима не решило мою проблему на моем ПК для разработки, но убедило меня попробовать еще раз с другого ПК. Когда я использую SSMS другого компьютера для входа в базу данных ПК разработчика и пытаюсь в точности описать, что описывает Тим, у меня такое же поведение, как и Тим.
Мне также удалось повторить проблему разбора аргументов на других компьютерах, которые я пробовал в прошлом. Я надеюсь, что Тим может сообщить мне, какая версия и номер сборки у него установлены SSMS, потому что моя текущая теория заключается в том, что проблема заключается только в конкретной сборке, которую мои коллеги и я имеем на наших компьютерах разработчиков - строка версии "Microsoft SQL Server Management Studio 9.00.1399.00". Все наши установки этой версии произошли более года назад, поэтому я не знаю, могу ли я отследить, с какого диска она.
Тот, у которого НЕ возникает проблема, на самом деле является нашим сервером разработки, на котором установлена «Microsoft SQL Server Management Studio 9.00.3042.00». Я не знаю, может ли это быть чем-то, что я могу сделать, пропатчив или что-то в этом роде, но в настоящее время похоже, что 1399 читает весь выбор как один аргумент, а 3042 выполняет предварительный анализ. Я также недавно обнаружил, что когда я передаю строку, содержащую «-» (маркер комментария) в 3042 году, все, что после «-», игнорируется, а в 1399 году все это включается в первый аргумент.