質問

プログラムによって、または別の方法で、既にインスタンスがインストールされているシステムにSQL 2005 Express Editionの新しいインスタンスを追加する方法を探しています。従来、私は以下のコマンドラインにいるようにMicrsoftのインストーラーを実行し、トリックを実行します。インストーラーでコマンドを実行することは問題ではありません。SQLExpressが既にインストールされている場合は不要な40 MBのMS-SQLインストーラーをドラッグするだけの問題です。これは私のインストーラーが現在実行しているものです:

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

このコマンドの起動についてのサポートは必要ありません。むしろ、実際にフルインストーラーを再度実行せずにSQL 2005 Expressの新しいインスタンスを追加する適切な方法です。

なぜこれをしたいのかについて詳しく説明しますが、みんなを退屈させただけです。 SQL Expressの再インストールなどの時間をかけずに新しいインスタンスを作成するこの機能があれば、アプリケーションとインストーラーの展開に非常に役立ちます。誰かに何か違いがある場合は、このインストールプロジェクトにNSISと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