コマンドからの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」。
タスクを作成するバッチファイルを用意しておけば、複数のPCへ展開していけますね。
SQL Server 2017のインストール
Windows環境へSQL Server 2017をインストールする手順をまとめてみます。
インストール先OS ・・・Windows Server 2016
インストールメディア・・・SQL Server 2017 Developer Edition
まず、インストールメディア内にある setup.exe を実行します。
SQL Server インストールセンターが開きます。
インストールを選択し、「SQL Server の新規スタンドアロン インストールを実行するか、既存のインストールに機能を追加」をクリックします。
セットアップ画面が開きます。今回はDeveloper Editionという、開発用のエディションをインストールするため、そのまま進みます。
「ライセンス条項に同意します。」にチェックし、次へ。
今回はインストールのみを進めるため、そのまま次へ。
ここまで問題なければ、以下のようになるはずです。ここも次へ。
※Windowsファイアウォールで警告が出ますが、これは「ファイアウォールが有効なため外部からDBアクセスするにはポート開放が必要ですよ」という内容です。
(対象のポート開放は後程)
インストールする機能を選択する画面になります。
今回はDBサーバーとしての機能のみを選択します。チェックをつけるのは以下の通りです。
- データベースエンジンサービス
- 検索のためのフルテキスト抽出とセマンティック抽出
- クライアントツール接続
対象にチェックをつけた後、次へ。
ここはそのままで次へ。
ここもそのまま次へ。
ここではログインする際の認証方法を設定します。認証方法には以下の2種類があります。
Windows 認証・・・OSにログインしているユーザーを使用してログイン。
SQL Server認証・・・SQL Server独自のユーザー、パスワードを使用してログイン。
後のメンテナンスをしやすくするため、まずはSQL Server認証が利用できる「混合モード」を選びます。
すると、パスワードの入力に文字入力できるようになるためパスワードを入力します。
その後、「現在のユーザーの追加」をクリックし、次へ。
「インストール」をクリックすると、設定内容でインストールが開始します。
しばらく待つとインストールが終了します。
(今回のインストールは1時間30分ほどかかりました)
試しにSQL Serverへ接続できるか、別のPCから管理ツールで接続してみます。
※SQL Server Management Studio(SSMS)を使用します。
まだ外部からの接続が有効になっていないため、エラーとなりました。
続けて、外部接続を有効にしていきます。
まずは、SQL Server 2017 構成マネージャーを起動します。
SQL Server ネットワークの構成を展開し、MSSQLSERVERのプロトコルを選択します。
TCP/IPの状態が無効となっているので、有効にします。
OKを押すと、警告メッセージが出ます。
構成マネージャーで変更した内容はSQL Serverのサービスを再起動するまで有効になりません。なのでサービスの再起動をします。
SQL Serverのサービスを選択し、一覧にある「SQL Server (MSSQLSERVER)」を右クリック→再起動を選択します。
次は、ファイアウォールの設定からSQL Serverの通信に使用するポートを開放します。
※Windows標準のファイアウォールの環境で説明します。
詳細設定をクリックします。
受信の規則を選択し、画面右側にある「新しい規則」をクリックします。
ポートを選択し、次へ。
特定のローカルポートの部分に 1433 と入力し、次へ。
接続を許可するが選択された状態で次へ。
デフォルトのまま次へ。
適当な名前を入力し、完了。
この状態で接続を試すと、以下の通り対象サーバーへ接続ができました。