Domanda

Alla ricerca di un modo per aggiungere a livello di codice o in altro modo una nuova istanza di SQL 2005 Express Edition a un sistema su cui è già installata un'istanza. Tradizionalmente, esegui il programma di installazione di Micrsoft come se fossi nella riga di comando qui sotto e fa il trucco. L'esecuzione del comando nel mio programma di installazione non è un problema, è più una questione di trascinamento dei 40 MB del programma di installazione MS-SQL che non mi serve se SQL Express è già installato. Questo è ciò che il mio programma di installazione attualmente esegue:

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

Non ho bisogno di assistenza con l'avvio di questo comando, piuttosto il modo appropriato per aggiungere una nuova istanza di SQL 2005 Express senza eseguire nuovamente il programma di installazione completo.

Vorrei approfondire il motivo per cui voglio farlo, ma annoiare semplicemente tutti. Basti dire che avere questa capacità di creare una nuova istanza senza il tempo necessario per reinstallare SQL Express ecc. Mi aiuterebbe molto per la distribuzione della mia applicazione e del suo programma di installazione. Se non fa alcuna differenza per nessuno, sto usando una combinazione di NSIS e Advanced Installer per questo progetto di installazione.

È stato utile?

Soluzione 3

Dopo mesi / anni di ricerche, sembra che non sia possibile farlo. Vabbè, suppongo di doverlo reinstallare ogni volta che voglio una nuova istanza. Immagino sia perché ogni istanza è il proprio servizio.

Altri suggerimenti

Sembra che un'istanza utente possa aiutarti. Se si dispone dei file MDF e LDF, è possibile connettersi ai file dando istruzioni a SQL Server Express di avviare un'istanza utente e allegare il file specificato a tale istanza.

Questo articolo http://msdn.microsoft.com/en-us /library/bb264564.aspx contiene una buona descrizione di come appoggiarsi all'installazione di SQL Server Express esistente per creare un'istanza di un'istanza specifica dell'utente per la durata della connessione.

Spero che sia d'aiuto.

Non so come farlo con un'API, ma se nessuno offre una soluzione migliore, puoi sempre usare Process.Start () per eseguire la tua riga di comando così com'è.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top