Да, вы всегда должны указывать нужные столбцы в производственном коде (это нормально в специальных запросах, запускаемых один раз).Чтобы не сделать это антипаттерн SQL.В вашем случае у вас есть объединения, что означает, что минимум поля повторяются, что является пустой тратой ресурсов сервера и базы данных.Нетрудно указать поля, вы можете перетащить все столбцы из браузера объектов, поэтому нет никаких оснований этого не делать.Вы можете сломать много вещей и сделать обслуживание намного хуже, используя select *.Никогда не используйте его в рабочем коде.
Кстати, вы не должны использовать неявные объединения.Они подвержены случайным перекрестным объединениям, их сложнее поддерживать (особенно, когда вам нужно добавить левое объединение позже), они НЕ работают правильно, если вы используете синтаксис для левого или правого объединений (что также не рекомендуется)заменил 18 лет назад с лучшим синтаксисом.
Я бы ожидал, что SQL Server сможет отправлять 100 полей, одно из которых больше 1000 символов, без проблем.Не уверен, что является причиной транспортной ошибки, но сообщение об ошибке обычно появляется при разрыве соединения с базой данных.