Windows VPSを契約したらデーターベースを使いたい。
無料のSQL Server Expressを使うのが手軽だ。
当記事では、Windows VPSに無料SQL Server Expressをインストールする作業やSQL Server Management Studio(SSMS)と言うGUI形式でSQL Server Expressを操作出来る無料ツールのインストール方法を紹介する。
さらに、自宅のパソコンからリモート接続でWindows VPS上のSQL Server Expressを操作する為の設定方法も紹介したい。
これらの設定が完了すると、以下の2つの方式でWindows VPS上のSQL Server Expressを操作出来るようになる。
- 自宅PCからリモートデスクトップ接続でWindows VPSへ接続してそこでSSMSを使う方式
- 自宅PCのSSMSを使ってWindows VPS上のSQL Server Expressを遠隔操作する方式
では本題に入ろう。
SQL Server ExpressをWindows VPSへインストールする
下図のようにSQL Server公式サイトを開いてExpress版のインストーラーを入手する。
図 SQL Server公式サイトを開いてExpress版のインストーラーを入手する
上記サイトから以下のインストーラーを入手した。
SQL2022-SSEI-Expr.exe
図 Windows VPSのデスクトップにSQL Server Expressのインストーラーをコピペした
Windows VPS上でインストーラーを実行すると下図の画面が開く。
図 Windows VPS上でインストーラーを実行して表示される画面
上図に於いて三通りのインストール方法があるか、ここでは左端の「基本」設定でインストールする。
下図の画面が開くので「インストール」ボタンをクリックする。
図 この画面が開くので「インストール」ボタンをクリックする
下図のように自動でインストールが進んでいく。
図 自動でインストールが進んで行く
下図の画面が出ればSQL Server Express 2022のインストール成功だ。
図 この画面が出ればSQL Server Express 2022のインストール成功
今の場合は全部デフォルト設定でインストールした。
その結果、例えばインスタンス名は「SQLEXPRESS」になっている。
もしそれを「SQLEXPRESS2022」などの別の名前に変えたい場合には、インストール開始時点で「基本」を選ぶのではなくて、「カスタム」を実行すればそのインストールの途中でインスタンス名を自由に変更可能だ。
ちなみにインストールしてしまったあとからインスタンス名を何らかの設定画面から変更するなどの機能はしばらく調べてみたが無さそうだった。
SQL Server Management Studio(SSMS)をインストールする
次はWindows VPSにSQL Server Management Studio(SSMS)をインストールしておく。
なお、SSMSはGUI画面を使ってSQL ServerやSQL Server Expressを操作出来る便利ツールだが、それらのデーターベースは自宅PCにインストールしたSSMSからも遠隔操作することが出来る。
従ってWindows VPSにはSSMSは必ずしもインストールする必要は無いが、Windows VPSにインストールしたSQL Server系データーベースの各種設定やデーターベース操作実験をする場合にはWindows VPS側にもSSMSを入れておくと何かと便利なのでインストールしておくと良いだろう。
マイクロソフト公式サイトからSSMSインストーラーをダウンロードする。
英語版、日本語版などあるので、日本語版インストーラーを入手すると良い。
ファイル名は
だ。
図 SSMSのダウンロードリンクをクリックすると英語版がダウンロードされるので注意
注意事項としては、上図の「SQL Server Management Studio (SSMS) 19.1 の無料ダウンロード」というリンクをクリックすると英語版インストーラーがダウンロードされてしまう。
日本語版インストーラーは、上記ページのもう少し下に「使用できる言語」と言う項目があり、その中に
簡体中国語 | 繁体中国語 | 英語 (米国) | フランス語 | ドイツ語 | イタリア語 | 日本語 | 韓国語 | ポルトガル語 (ブラジル) | ロシア語 | スペイン語
などの各種言語のインストーラーがあるので日本語版インストーラーをダウンロードして実行する。
なお、以下では英語版SSMSのインストーラー
SSMS-Setup-ENU.exe
を実行した。
その理由はうっかり間違えて日本語版ではなくて英語版を実行してしまったのだ。
英語版SSMSインストーラーを実行すると下図が出る。メッセージは英語だ。もし日本語版インストーラーを実行したら日本語メッセージが出る。
図 SSMS英語版インストーラーを実行してしまった
下図のようにSSMS英語版のインストールが完了してしまった。
図 SSMS英語版のインストールが完了してしまった
なお、SSMS英語版をインストールしたあとで、設定メニューから言語設定を変更しても日本語にはならなかった。
という事で、もしSSMS日本語版をインストールしたい場合には、SSMS英語版をアンインストールしてからSSMS日本語版をインストールする必要がある。
SQL Server Management Studio(SSMS)実行してみる
さっそくWindows VPSにリモートデスクトップ接続しておいて、その環境でSSMSを実行してみた(下図)。
図 Windows VPSにリモートデスクトップ接続してSSMSを実行した
上図において、SQL Serverへログインする画面が出ているが、Authentication(認証)はデフォルトの「Windows Authentication」になっている。
これとは別に「SQL Server Authentication」と言う認証方式があるのだが、他のパソコンからこのWindows VPSにインストールしたSQL Serverを遠隔操作する場合には「SQL Server Authentication」も追加しておく必要がある。その作業はこのあとで説明する。
下図の画面は「Windows Authentication」でSQL Serverへ接続した直後の状態だ。
図 Windows VPSにリモートデスクトップ接続してその環境でSQL Serverに接続した
今の場合はWindows VPSにリモートデスクトップ接続してその環境にインストールされているSQL Serverに接続している。
でも一般にはこのWindow VPSにインストールしたSQL Serverは他のコンピューターからも遠隔操作したい場合も有りうる。
当記事の後半ではそれらの設定作業も解説する。
言語設定を英語から日本語に変更するが出来ない
今回インストールしたのはSSMS英語版だが、言語設定画面があったので(下図)、現状の「English」を「Same as Microsoft Windows」に変更してみた。
図 Tools->Options->International Settingsで言語設定を変更したが効かない
しかしながら画面表示は英語のままで変化なし。
という事でSSMS画面を日本語化したい人は、最初からSSMS日本語版インストーラーを入手してインストールするのが正しいやり方だ。
SQL文を実行してみる
取り敢えずSSMS画面からSQL Server Expressのデーターベースを操作してみる。
下図のようにSystem Tablesと言うフォルダの中に幾つかのテーブルがあるので、適当に一番上にあるテーブルに対して「Select Top 1000 Rows」を実行してみる。
図 System Tables中のテーブルに対して「Select Top 1000 Rows」を実行する
その結果、下図のように三行だけだが結果が得られた。
図 「Select Top 1000 Rows」の実行結果が得られた
(注:上図はその後インストールしたSSMS日本語版で実行しているの)
SSMSを使うとこのようにデーターベースに対して自由にSQL文を実行することが出来る。
リモート接続でSQL Server Expressを操作出来るように設定する
さて、現状では上で述べたように「Windows Authentication」になっているが、これに「SQL Server Authentication」に追加する。
そのために、下図の反転文字で示すデータベース名の上で右クリックメニューを出して、その中の「Property」を開く。
図 反転文字で示すデータベース名の上で右クリックメニューを出し「Property」を開く
そうすると下図が出る。
図 Server Properties画面
上図のように選択してOKをクリックする
これで
「Windows Authentication mode」
を
「SQL Server and Windows Authentication mode」
に変更出来た。
ただし、「SQL Server Authentication mode」を使ってデータベースに接続する場合には、「sa」という名前のユーザー名とパスワードで認証する必要がある。
以下では「sa」ユーザーに対してパスワードを新規に設定する作業を示す。
図 「sa」ユーザーに対してパスワードを新規に設定する
上図左にある
を右クリックでプロパテー画面を出すと上図になる。
PasswordとConfirm Passwordの入力欄は、自分で設定した記憶は無いが何らかの初期値が入っていて黒丸で表示されている。
ここではそれらの黒丸を消去して、改めて自分で決めたパスワード文字列を入力する。
次に、上図Login Property画面の「Status」をクリックすると下図が出る。
図 Login Property画面の「Status」をクリックして出た画面
上図のように設定変更して「sa」ユーザーに対してデータベースエンジンへ接続する許可を与える。
これらの設定を有効化するために、SQL Serverを再起動すれば良いのだが、ここではWindows VPSを再起動した。
そしてsa認証で無事に接続することができた(下図)。
図 SQL Server Expressのsaユーザー認証で接続成功
これで作業が終わったと思ったら大間違い。
自宅パソコンのSSMSにsaユーザー名とパスワードを入力してこのWindows VPSをリモート接続するには、さらに以下の設定作業が必要なのだ。
ファイヤーウォール設定にSQL Server ExpressのTCPポート1433を追加する
まず、SQL Serverの標準接続ポートである1433をファイヤーウォール設定画面で有効化する。
そのためには下図のコントロールパネルを開いてWindows Defenderファイヤーウォールアイコンをクリックする。
図 コントロールパネルを開いてWindows Defenderファイヤーウォールアイコンをクリック
下図のようにWindows Defenderファイヤーウォール画面が開くので左下の「詳細設定」をクリックする。
図 Windows Defenderファイヤーウォール画面が開くので左下の「詳細設定」をクリック
そうすると下画面が開くので「受信の規則」をクリックする。
図 「受信の規則」をクリックする
「受信の規則」をクリックすると下図が出るので右側の「新しい規則」をクリックする。
図 右側の「新しい規則」をクリックする
「新しい規則」をクリックすると下図が出るので
ポート
を選択して「次へ」ボタンをクリックする。
図 ポートを選択したら「次へ」ボタンをクリックする
ポートを選択して「次へ」ボタンをクリックすると下図が出る。
図 TCP/UDPの選択、ポート番号の指定画面
上図に於いて
特定のポート: 1433
のように入力したら「次へ」ボタンをクリックすると下画面が出る。
図 接続許可を選択して「次へ」をクリック
上図に於いて、
を選択したら「次へ」をクリックすると下図が出る。
図 接続を許可するネットワークを上図の三種類から選ぶ
上図では接続を許可するネットワークを三種類から選ぶが、特に理由が無ければ三箇所にチェックして「次へ」ボタンをクリックすると下図が出る。
図 受信規則に好きな名前を付けられるので「TCP 1433」と入れた例
上図において、現在作成中の受信規則に名前を付けられるので、ここでは「TCP 1433」と入れて「完了」ボタンをクリックする。
その結果、受信規則一覧リストの最上位に今作成した「TCP 1433」が表示されるはずだ。
これで設定完了かと思うが、まだ必要な設定がある。
TCP1433ポートにリモート接続許可設定を追加する
ここまでの設定ではファイヤーウォールの受信規則設定にSQL Server Expressが使うTCPポート 1433を追加しただけだ。
以下では、そのTCP1433ポートにリモート接続出来るように設定を行う。
その為には下図の「TCP 1433」の上で右クリックメニューを開くと下図が出る。
図 TCP1433の上で右クリックメニューを表示した
上図において「全般」タブをクリックして
を選択する。
下図に於いて「プロトコルおよびポート」タブをクリックして下図のようになっていることを確認する。
図 「プロトコルおよびポート」タブの設定例
下図のように「スコープ」タブをクリックする。
図 「スコープ」タブをクリックしてIPアドレスを指定する例
上図に於いて、このTCP1433ポートへリモート接続を許可するIPアドレスを指定出来るので、必要に応じて入力する。
上図では以下のように入力している。
10.10.0.0/16
一行目は特定のIPアドレス192.168.1.100からの接続許可設定だ。
二行目はサブネットマスクを16で指定しているので、
までのIPアドレスに対して接続許可を与えている。
設定を完了するために「OK」をクリックする。
SQL Server Configuration ManagerでTCP/IPを有効化する
設定は未だ続く。
下図のようにSQL Server Configuration Managerを実行して、SQLEXPRESSのプロトコルをクリックする。
図 SQL Server Configuration Managerを実行して、SQLEXPRESSのプロトコルをクリック
上図のように初期状態ではTCP/IPは無効になっている。
そこで下図のように右クリックメニューを開いてプロパティ画面を出す。
図 TCP/IPの右クリックメニューを開いてプロパティを実行
その結果、下図の「TCP/IPのプロパティ」画面が出る。
図 「TCP/IPのプロパティ」画面が出た
上図において「IPアドレス」タブをクリックして「TCP動的ポート」欄に1433を入力する。
次に「プロトコル」タブをクリックすると下図が出る。
図 「プロトコル」タブをクリックして有効化する
上図において「有効」の欄を「いいえ」から「はい」に変更して「OK」で閉じる。
その結果、下図のようにTCP/IPが「有効」になった。
図 SQL Server Configuration ManagerでTCP/IPの有効化が完了
これで自宅のパソコンのSSMSを起動して、Windows VPSで実行しているSQL Server Expressを遠隔操作する設定が完了した。
念のために下図のようにWindows VPSを再起動しておく。
図 Windows VPSを再起動しておく
自宅パソコンのSSMSでWindows VPSのSQL Server Expressを遠隔操作してみる
自宅パソコンでSSMSを起動した(下図)。
図 自宅パソコンでSSMSを起動した
上図に於いて以下のように入力した。
認証:SQL Server認証
ログイン:sa
パスワード:**************************
このように入力したら「接続」ボタンをクリックする。
そうすると一瞬で下図のようにWindows VPS上で稼働しているSQL Server Expressに接続成功した。
図 自宅パソコンのSSMSからWindows VPS上のSQL Server Expressに接続成功した例
これでWindows VPSでVisul Studioを使ってデータベースを操作するアプリを開発する場合などに、このWindows VPSのSQL Server Expressのテーブルを自由に操作出来るようになった。
まとめ
皆さん、無事に設定できましたか?
当記事では、Windows VPSにインストールしたSQL Server Expressを遠隔操作する設定を解説しました。
設定項目は沢山ありますが、難しい点は無いので簡単です。
設定完了したら自宅パソコンでSSMSを起動してWindows VPSにインストールしたSQL Server Expressに接続テストすると良いでしょう。
正しく設定が出来ている場合には、一瞬で接続が完了します。
もし何かの設定間違いがあると、SSMS画面で十秒くらい経つとタイムアウトしてエラーメッセージが表示されます。
ですので、エラーメッセージが表示された場合には、当記事で解説している設定項目を一つずつ見直せば必ず解決します。
(続く)
コメント