アプリ版:「スタンプのみでお礼する」機能のリリースについて

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%

申し訳ございませんが、ご教授の方お願いします。

A 回答 (2件)

単純な回避策は、停止バッチを以下のように書き換えると可能です。



set log=c:\log\SQL-service-stop.log
net stop SQLServerAgent >> %log%   ←この行を追加
net stop mssqlserver >> %log%

サービスに依存関係がついているため、mssqlserverサービスを止めるためには、SQLServerAgentが先に止まっている必要があります。
なので、mssqlserverサービスを止める時に、既にSQLServerAgentが止まっていれば、確認メッセージは表示されなくなります。
    • good
    • 1
この回答へのお礼

LegaC2さん
無事バッチの方が処理できました。
ありがとうございました。助かりました。 

自分でも調べて、やってみたのですが、コマンドの順番が逆だった為、同じエラーが出ていました。
set log=c:\log\SQL-service-stop.log
net stop mssqlserver >> %log%
net stop SQLServerAgent >> %log%

お礼日時:2008/08/18 16:30

>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/s0 …

以上は、2005年の9月頃に SQL Server 2000 で確認したことです。
で、<手順は省けません>は、どこで知ったのでしょうか?
もしかしたら、SQL Server ユーザーグループの分科会かもです。
上述のサイトの<DBバックアップとリカバリー>を印刷し熟読した記憶があります。
    • good
    • 0

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

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