dポイントプレゼントキャンペーン実施中!

SQLServer Expressを自動インストールするバッチファイルを作成しました。

処理の流れは
(1)インストール
(2)MDFのアタッチ
となっています。

ところが(2)が失敗します。
sqlcmd を使ってアタッチをしているのですが、
「操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
となります。

ところが再度(2)の処理だけを実行すると成功します。
つまりインストールは成功しており、sqlcmdは使えるはずなのです。

処理が連続しているのが問題化と考え、コマンドを別ウインドウを立ち上げたり
しましたが無理でした。コマンドでスリープも出来ないようです。

解決法をご教授願います。

環境
WindowsServer2008Standerd
SQLserverExpressR2SP1 with Tools

A 回答 (2件)

バッチファイルを起動した時点ではSQL Serverがまだインストールされていないので、sqlcmdへのパスが環境変数には設定されていない環境でsqlcmdを実行している為と推測します。


sqlcmdの先頭にディレクトリーも付けてフルパスで実行すれば動くと思います。

この回答への補足

ご教示いただいた方法で、解決しました。

補足日時:2012/01/20 11:09
    • good
    • 0
この回答へのお礼

ありがとうございます。
試してみます。

お礼日時:2012/01/14 18:56

(1)が完了した時点でSQL Serverのパスがバッチのプロセス中には設定されていないのでは?


(1)と(2)の間にsetコマンドを挟んでPathの情報を確認してみてください。

>(1)インストール
>(2)MDFのアタッチ

インストールパスが固定なら(2)でsqlcmdをフルパスで指定すればよいと思います。
    • good
    • 0
この回答へのお礼

ありがとうございます。
試してみます。

お礼日時:2012/01/14 18:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す