コマンドからのWindowsタスクの作り方

複数のPCで同じスケジュールのタスクを作成したいことはありませんか?
(例えば、同じプログラムを複数PCで並行して実行しておくなど)

同じ設定のタスクをGUIで作成していくのは大変ですし、設定ミスが発生します。
以下のコマンドを実行すると、Windowsのタスクスケジューラにタスクを作成できます。

schtasks.exe /create /sc WEEKLY /d MON,TUE,WED,THU,FRI /tn テストタスク /tr "C:\Task\Exec.bat" /st 09:00:00
 

 サンプルの設定内容は、以下の通りです。
(平日の朝1回だけ実行するバッチのイメージ)

  • タスク名は「テストタスク」。
  • 実行するプログラムは「C:\Task\Exec.bat」。
  • 月~金曜日まで実行(毎週)。
  • 実行開始時間は「9:00:00」。

 

f:id:jade_5:20190520221735p:plain

f:id:jade_5:20190520221827p:plain

タスクを作成するバッチファイルを用意しておけば、複数のPCへ展開していけますね。

SQL Server 2017のインストール

Windows環境へSQL Server 2017をインストールする手順をまとめてみます。

インストール先OS  ・・・Windows Server 2016
インストールメディア・・・SQL Server 2017 Developer Edition


まず、インストールメディア内にある setup.exe を実行します。

f:id:jade_5:20190519181751p:plain

セットアップメディア内の一覧

 SQL Server インストールセンターが開きます。
インストールを選択し、「SQL Server の新規スタンドアロン インストールを実行するか、既存のインストールに機能を追加」をクリックします。

f:id:jade_5:20190519182203p:plain

SQL Server インストールセンター

セットアップ画面が開きます。今回はDeveloper Editionという、開発用のエディションをインストールするため、そのまま進みます。

f:id:jade_5:20190519182440p:plain

セットアップ01

「ライセンス条項に同意します。」にチェックし、次へ。

f:id:jade_5:20190519182725p:plain

 今回はインストールのみを進めるため、そのまま次へ。

f:id:jade_5:20190519182956p:plain

 ここまで問題なければ、以下のようになるはずです。ここも次へ。

f:id:jade_5:20190519183158p:plain

Windowsファイアウォールで警告が出ますが、これは「ファイアウォールが有効なため外部からDBアクセスするにはポート開放が必要ですよ」という内容です。
(対象のポート開放は後程)

f:id:jade_5:20190519183437p:plain

警告を押したときに表示されるメッセージ

インストールする機能を選択する画面になります。
今回はDBサーバーとしての機能のみを選択します。チェックをつけるのは以下の通りです。

  • データベースエンジンサービス
  • 検索のためのフルテキスト抽出とセマンティック抽出
  • クライアントツール接続

f:id:jade_5:20190519185219p:plain

対象にチェックをつけた後、次へ。

ここはそのままで次へ。

f:id:jade_5:20190519185730p:plain

ここもそのまま次へ。

f:id:jade_5:20190519185900p:plain

ここではログインする際の認証方法を設定します。認証方法には以下の2種類があります。

 Windows 認証・・・OSにログインしているユーザーを使用してログイン。
 SQL Server認証・・・SQL Server独自のユーザー、パスワードを使用してログイン。

後のメンテナンスをしやすくするため、まずはSQL Server認証が利用できる「混合モード」を選びます。
すると、パスワードの入力に文字入力できるようになるためパスワードを入力します。
その後、「現在のユーザーの追加」をクリックし、次へ。

f:id:jade_5:20190519194004p:plain


「インストール」をクリックすると、設定内容でインストールが開始します。

f:id:jade_5:20190519194345p:plain

しばらく待つとインストールが終了します。
(今回のインストールは1時間30分ほどかかりました)

f:id:jade_5:20190519203547p:plain

試しにSQL Serverへ接続できるか、別のPCから管理ツールで接続してみます。
SQL Server Management Studio(SSMS)を使用します。

f:id:jade_5:20190519203917p:plain

f:id:jade_5:20190519203927p:plain

まだ外部からの接続が有効になっていないため、エラーとなりました。
続けて、外部接続を有効にしていきます。

まずは、SQL Server 2017 構成マネージャーを起動します。

f:id:jade_5:20190519204356p:plain

SQL Server ネットワークの構成を展開し、MSSQLSERVERのプロトコルを選択します。
TCP/IPの状態が無効となっているので、有効にします。

f:id:jade_5:20190519210908p:plain

f:id:jade_5:20190519204601p:plain

OKを押すと、警告メッセージが出ます。

f:id:jade_5:20190519204850p:plain
構成マネージャーで変更した内容はSQL Serverのサービスを再起動するまで有効になりません。なのでサービスの再起動をします。
SQL Serverのサービスを選択し、一覧にある「SQL Server (MSSQLSERVER)」を右クリック→再起動を選択します。

f:id:jade_5:20190519205044p:plain


次は、ファイアウォールの設定からSQL Serverの通信に使用するポートを開放します。
Windows標準のファイアウォールの環境で説明します。

詳細設定をクリックします。

f:id:jade_5:20190519205537p:plain

受信の規則を選択し、画面右側にある「新しい規則」をクリックします。

f:id:jade_5:20190519205837p:plain

ポートを選択し、次へ。

f:id:jade_5:20190519205926p:plain

特定のローカルポートの部分に 1433 と入力し、次へ。

f:id:jade_5:20190519210045p:plain

接続を許可するが選択された状態で次へ。

f:id:jade_5:20190519210142p:plain

デフォルトのまま次へ。

f:id:jade_5:20190519210224p:plain

適当な名前を入力し、完了。

f:id:jade_5:20190519210337p:plain

 
この状態で接続を試すと、以下の通り対象サーバーへ接続ができました。

f:id:jade_5:20190519210511p:plain

f:id:jade_5:20190519210545p:plain