ローカルでSQL Serverのサービスをスイッチするbatを作る

SQL Serverのサービスをスイッチするbatを作る

 下のサイトを参考にした。

【バッチ勉強】サービスの起動・停止状態を取得する方法 | Tipstour

 コードはこんな感じ。オリジナリティもなんもないでしゅ。

REM SQLの状態取得開始
sc query MSSQL$(インスタンス名) | findstr STATE | findstr RUNNING > null

REM SQLが動いてたら(0)止める(stop)
REM SQLが止まってたら(not 1)動かす(start)
IF %errorlevel% == 0 ( sc stop MSSQL$(インスタンス名) ) else ( sc start MSSQL$(インスタンス名) )

REM 何かキーを押して下さい...
pause

 以上。もう一つあるけど長くなったので分ける。

一度アンインストールしたSQL server 2014 expressの再インストールにつまった

昨日の夜から今日にかけて、タイトルの部分で盛大にハマったので書く

ハマりポイント1:サーバーエンジン他1つのインストールに失敗

原因:以前のインスタンス(2個)が半端に残っていたこと

 修復しようとしても新規なインスタンスはそもそも
 「インストールできていない」前提なのでコケていた
 きっちりアンインストールすることが何より大事だったようす

 管理者でログインしてとにかく「SQL」の名前のついているものをアンインストールし、
 セットアップ関連のフォルダもSQLEXPRWT_x64_JPN.exeから解凍し直したらうまくいった

 対策:インスタンス(特にサーバーエンジン回り)は
      アンインストールし忘れていることを前提に行動すること

ハマりポイント2:Management studioまでいってもサーバーへの接続に失敗

原因:以前のサーバー名がManegement studioにデフォルトとして入っていた

 f:id:Matsuzakid:20161218183050p:plain

 こ↑れ↓
 サービスが動いていないのかと思って管理ツールまで見に行っても
 元気に動いていた 同様の現象を起こす原因が複数あるのが罠だった
 賢者には賢者のための罠が、アホにはアホのための罠がある
 ぼくはアホでした
 賢者のための対策しても意味が無かった

 f:id:Matsuzakid:20161218182428p:plain

 犯人は消したはずのインスタンス?だった
 サーバー名がぼくがせっていしたのとちがう

 震える手でサーバー名を設定したものに入れなおしたら動いた

 f:id:Matsuzakid:20161218183627p:plain

 ハマりの息抜きにAnacondaもインストールしたものの、
 残り時間的にPythonとキューブの勉強の両方はできない
 かなしい