SQL 2005 Express Edition - установить новый экземпляр - PullRequest
6 голосов
/ 29 сентября 2008

В поисках способа программно или иным способом добавить новый экземпляр 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 и т. Д., Очень помогла бы мне в развертывании моего приложения и его установщика. Если кто-то что-то изменит, я использую комбинацию NSIS и Advanced Installer для этого проекта установки.

Ответы [ 3 ]

1 голос
/ 05 декабря 2008

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

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

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

0 голосов
/ 15 марта 2010

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

0 голосов
/ 29 сентября 2008

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...