Вопрос

Ищете способ программно или иным образом добавить новый экземпляр SQL 2005 Express Edition в систему, в которой уже установлен экземпляр.Традиционно вы запускаете программу установки Micrsoft, как я, в командной строке ниже, и это делает свое дело.Выполнение команды в моем установщике - это не проблема, это скорее вопрос перетаскивания 40 МБАЙТ установщика MS-SQL, который мне не нужен, если у них уже установлен SQL Express.Это то, что в данный момент выполняет мой установщик:

SQLEXPR32.EXE /qb ADDLOCAL=ALL INSTANCENAME=<instancename> SECURITYMODE=SQL SAPWD=<password> SQLAUTOSTART=1 DISABLENETWORKPROTOCOLS=0

Мне не нужна помощь с запуском этой команды, скорее подходящий способ добавить новый экземпляр SQL 2005 Express без повторного запуска полной программы установки.

Я бы очень подробно рассказал о том, почему я хочу это сделать, но это просто наскучило бы всем.Достаточно сказать, что наличие этой возможности позволяет создавать новый экземпляр без затрат времени на переустановку SQL Express и т.д.это очень помогло бы мне в развертывании моего приложения и его установщика.Если для кого-то это имеет какое-либо значение, я использую комбинацию NSI и Advanced Installer для этого проекта установки.

Это было полезно?

Решение 3

После месяцев / лет изучения этого вопроса становится ясно, что это невозможно сделать.Ну что ж, я думаю, я просто переустанавливаю каждый раз, когда мне нужен новый экземпляр.Я думаю, это потому, что каждый экземпляр - это свой собственный сервис.

Другие советы

Похоже, что пользовательский экземпляр может вам помочь.Если у вас есть файлы MDF и LDF, вы можете подключиться к файлам, указав SQL Server Express запустить экземпляр пользователя и прикрепить указанный файл к этому экземпляру.

Этот артил http://msdn.microsoft.com/en-us/library/bb264564.aspx содержит хорошее описание того, как вы можете использовать существующую установку SQL Server Express для создания экземпляра, специфичного для пользователя, на время вашего подключения.

Надеюсь, это поможет.

Я не знаю, как это сделать с помощью API, но если никто не предложит лучшего решения, вы всегда можете использовать Process .Start() для выполнения вашей командной строки как есть.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top