6

Buscando una manera de programar o no, agregar una nueva instancia de SQL 2005 Express Edition a un sistema que ya tiene una instancia instalada. Tradicionalmente, ejecutas el instalador de Micrsoft como si estuviera en la línea de comandos a continuación y funciona. Ejecutar el comando en mi instalador no es el problema, es más una cuestión de arrastrar alrededor de los 40 MB de instalador de MS-SQL que no necesito si ya tienen instalado SQL Express. Esto es lo que mi instalador ejecuta actualmente:SQL 2005 Express Edition - Instalar nueva instancia

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

No necesito ayuda con el lanzamiento de este comando, en lugar de la manera apropiada para añadir una nueva instancia de SQL 2005 Express sin tener que ejecutar el instalador completo de nuevo.

Me gustaría entrar en detalles sobre por qué quiero hacer esto, pero simplemente aburro a todos. Basta con decir que tener esta capacidad para crear una nueva instancia sin el tiempo que lleva reinstalar SQL Express, etc. me ayudaría enormemente a implementar mi aplicación y su instalador. Si hace alguna diferencia para cualquier persona, estoy usando una combinación de NSIS y Advanced Installer para este proyecto de instalación.

Respuesta

0

Después de meses/años de investigar esto, parece que no se puede hacer. Oh, bueno, supongo que simplemente reinstalo cada vez que quiero una nueva instancia. Supongo que es porque cada instancia es su propio servicio.

0

No sé cómo hacerlo con una API, pero si nadie ofrece una mejor solución, siempre puedes usar Process.Start() para ejecutar tu línea de comandos tal como está.

1

Parece que una instancia de usuario podría ayudarlo. Si tiene los archivos MDF y LDF, puede conectarse a los archivos ordenando a SQL Server Express que inicie una instancia de usuario y adjunte el archivo especificado a esa instancia.

Este artilugio http://msdn.microsoft.com/en-us/library/bb264564.aspx tiene una buena descripción de cómo puede apoyarse en la instalación existente de SQL Server Express para instanciar una instancia específica del usuario durante la duración de su conexión.

Espero que ayude.

Cuestiones relacionadas