【Windows】SQLServer2019設定とリモートから接続できないときの対応方法


WindowsSQLServer2019の設定についてまとめました。
設定は外部からのアクセス用日必要なところをメモしています。

特にポート開放のところは重要なのでチェックしましょう。

前回SQLサーバーのインストール手順は以下を参照してください。

windows

【WindowsServer2019】SQLServer2019 Expressインストール手順

2021年1月6日

WindowsSQLServer2019設定手順

SQLServerの設定では以下を作成します。

  • データベース:sadb
  • ポート番号:1433
  • ログイン:test
  • パスワード:password

以下手順は設定後、リモートでデータベースへのアクセスができる設定となります。

データベース作成

「MSSMS」でデータベース「sadb」を作成します。
左メニューから「データベース」を右クリックし、「新しいデータベース」を作成します。

「全般」→「データベース名」を記載し「OK」をクリックします。


新規ログインユーザー作成

今回作成したデータベースにアクセスするログインを新規作成します。
「セキュリティ」→「ログイン」から右クリックで新規作成します。

「全般」でログイン名・パスワードを設定し、「パスワードの期限を適用する」のチェックを外します。

「ユーザーマッピング」で「このログインにマップされたユーザー」から上記で作成した「sadb」を選択します。
「sadbのデータベースロール メンバーシップ」で「db_owner」にチェックを入れます。

「状態」で設定が有効になっていることを確認し、「OK」をクリックします。

SQLServerデータベース ポート「1433」開放

「SQLServerConfigurationManager」を起動し、「SQLServerネットワーク構成」からプロトコルを選択し、「TCP/IP」右クリックし、プロパティを起動します。

以下設定をし「OK」をクリックします。

  • 「プロトコル」:有効
  • IPアドレス:「IPALL」のTCPポートを「1433」に設定

Windowsの「サービス」を起動し、「SQLServerBrowser」を実行

SQLServerBrowserを起動します。
※デフォルトでは停止となっています。

Windowsデスクトップ上の検索から「service」と入力すると「サービス」が表示されるので起動します。
サービスから「SQLServerBrowser」を選択し、「停止」から「自動」へ変更します。

「SQLServerConfigurationManager」で「SQLServerBrowser」が起動していることが確認できます。

Windowsサーバーでポート「1433」の受信設定

上記設定で1433ポートを設定しても、リモートからのアクセスができません。
Windowsサーバーの受信設定で1433ポートを開放する手順が必要となります。

「サーバーマネージャー」の「ツール」から「セキュリティが強化されたWindowsDefenderファイアウォール」をクリックします。

以下ポップアップが表示されるので左メニューの「受信の規則」をクリックし、右メニューの「操作」→「新しい規則」をクリックします。

TCP/1433ポートの受信を許可する設定を作成します。

次に「コマンドプロンプト」を起動し、以下の「netsta」コマンドを実行します。

C:\Users\Administrator>netstat -ano | find "1433"
  TCP         0.0.0.0:1433           0.0.0.0:0              LISTENING       3548
  TCP         192.168.1.1:1433       192.168.1.2:57836      ESTABLISHED     3548
  TCP         192.168.1.1:1433       192.168.1.2:57837      ESTABLISHED     3548
  TCP         [::]:1433              [::]:0                 LISTENING       3548

ポート「1433」が「LISTENING」となっていることが確認できればOKです。

以上がSQLServerの設定となります。
リモートからデータベースへアクセスができない方は参考にしてください。


関連記事


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

ABOUTこの記事をかいた人

blank

インターネット関連のSEをやっています。 ネットワーク、サーバー、ストレージ、仮想基盤まで幅広く手を出しており、MVNOの構築経験もあります。 現在は、Pythonを使ったプログラミングの開発をしネットワークの自動化ツールを作成しています! Pythonの入門書も作成しているので、ぜひ参考にしてください!