Я знаю, что это скорее обходное решение, чем правильное решение, но вместо указания (а затем подключения из вашего приложения) определенного TCP-порта вы можете вместо этого включить службу SQL Browser во время молчания установка SQL Server. Это позволит вашему приложению подключаться к интересующему вас экземпляру на основе имени экземпляра, а не TCP-порта.
Это может привести к штрафу за производительность при создании нового соединения, так как для клиента требуется дополнительное обходное соединение между сетью для экземпляра, но (а) для клиент-серверных приложений с долгоживущими соединениями это не будет проблемой, и (б) для приложений-приложений приложений с пулом соединений, хорошо сконфигурированный пул не будет сильно затронут (я думаю), или может потребоваться немного больше соединений для достижения той же производительности.
Дополнительным преимуществом является то, что вы можете иметь более одного экземпляра SQL Server на одном хосте и не заботиться о портах. Например, в вашем (и моем) тихом сценарии установки вам нужно будет сначала проверить, нужен ли тот порт, который вы хотите использовать другим экземпляром. Использование SQL Browser устраняет необходимость в этой логике в вашей установке.
Если это предназначено для настольного приложения, вы должны рассмотреть рабочий стол (in-process) движок, такой как компакт-версия sql-сервера, sqlite или даже доступ, а не серверный движок, такой как sql server express.Помимо того, что вы будете лучше для своих пользователей, это упростит ваше развертывание. –
Я знаю все это, НО, к сожалению, у меня нет выбора , так есть ли в командной строке я могу использовать или раздел реестра для этого? спасибо – Wel