• ベストアンサー

コマンドプロンプトサービスの停止と開始について

OS Windows Server2003 バックアップを取るため SQL Serverサービスをタスクで自動で開始と停止をやりたいんですが、 バッチを組み実行したところ、開始は問題ないのですが 停止するときにバッチがそのまま止まってしまいます。 ログを調べたところ次の文面が表示されていました。 ※「次のサービスは MSSQLSERVER サービスに依存しています。 MSSQLSERVER サービスを停止すると、これらのサービスも停止されます。    SQLSERVERAGENT この操作を続行しますか? (Y/N) [N]: 」 コマンドプロンプトで「y」を実行すると停止します。 このようにバッチを組んでいます。 開始バッチ set log=c:\log\SQL-service-start.log net start mssqlserver >> %log% net start SQLServerAgent >> %log% 停止バッチ set log=c:\log\SQL-service-stop.log net stop mssqlserver >> %log% 申し訳ございませんが、ご教授の方お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • LegaC2
  • ベストアンサー率52% (224/428)
回答No.1

単純な回避策は、停止バッチを以下のように書き換えると可能です。 set log=c:\log\SQL-service-stop.log net stop SQLServerAgent >> %log%   ←この行を追加 net stop mssqlserver >> %log% サービスに依存関係がついているため、mssqlserverサービスを止めるためには、SQLServerAgentが先に止まっている必要があります。 なので、mssqlserverサービスを止める時に、既にSQLServerAgentが止まっていれば、確認メッセージは表示されなくなります。

red-tree
質問者

お礼

LegaC2さん 無事バッチの方が処理できました。 ありがとうございました。助かりました。  自分でも調べて、やってみたのですが、コマンドの順番が逆だった為、同じエラーが出ていました。 set log=c:\log\SQL-service-stop.log net stop mssqlserver >> %log% net stop SQLServerAgent >> %log%

その他の回答 (1)

noname#140971
noname#140971
回答No.2

>SQL Server は、コマンドプロンプトから >「net start SQLServerAgent」、 >「net start mssqlserver」、 >「net start sqlservr」と入力することで起動できます >ただし、「net start SQLServerAgent」で起動すると、 >「net stop SQLServerAgent⇒net stop mssqlserver」という手順でサービスを停止することになります。 >「net stop mssqlserver」のみを実行しても、手順は省けません。 http://www.sqlpassj.org/bunkakai/begin/series/s06/default.aspx 以上は、2005年の9月頃に SQL Server 2000 で確認したことです。 で、<手順は省けません>は、どこで知ったのでしょうか? もしかしたら、SQL Server ユーザーグループの分科会かもです。 上述のサイトの<DBバックアップとリカバリー>を印刷し熟読した記憶があります。

関連するQ&A