BLOG

ブログ

別PCに立てたSQLServerへの接続で困ったこと3選

こちらは、Mavs Advent Calendar2023の9日目の記事です!

🎄🎄🎄

こんにちは、タロウです。

開発PCから同じネットワーク上に立てたSQLServerへ接続する際にハマったので、気を付けるポイント3つ紹介します!同じようにハマる方が少しでも少なくなれば嬉しいです。
⚠️すべてWindowsマシン側の設定です!

前提情報

  • 開発PCはMacbook、WindowsにSQLServerを構築
  • 同じネットワーク内に接続
  • Macbookのローカル環境から繋がらず困ってしまった

外部端末・環境にアクセスできない問題はよく遭遇し、原因が様々なのでその度に頭を悩ませます・・
ここから3つに分けてヒントとなる確認点をご紹介します。

①ログインの認証方法を確認する

DBへアクセスする際にID/Passwodでアクセスしますが、SQLServer側の認証方法設定で許容していないとアクセスできませんでした。

通常SQLServerのインストール時に、インストーラーで選択式になりますが何も考えず全てOK(デフォルト)としてしまうとWindows認証のみとなり、ID/Passwodでのアクセスができない状態となります。

SQL Server Management Studio(SSMS)、Transact-SQLを使用した方法がありますが、SSMSを使用した設定方法をベースとしています。

解決方法

インストーラー実行段階では、何回か聞かれる認証方法でWindows認証+SQL Server 認証モードを選択します。
インストール完了後も変更が可能なので、全てOKとしてしまった方は下図設定画面から認証方法を変更します。

切り替えると、再起動するけど良いか?と聞かれるのでOKを押しましょう。

②ネットワーク設定

SQLServerのデフォルトポートが固定となっておらず、開発マシンからだとアクセスできていない事象があり、デフォルトでは0となっているので手動でポートを設定しました。

解決方法

ネットワーク設定のTCP/IPの設定を見直します。
設定項目中のローカルIPに対してデフォルトだと動的ポートとなっているので、固定を選択し1433を指定します。

外部からアクセスする際のポート指定に影響するため、接続するためにはこの設定が必要だったようです。

また、併せてWindowsマシン側のファイアウォールの設定も確認しておきましょう。
それぞれ有効となっているか、ローカルポートが合っているかを確認します。

③SQLServerBrowserの起動

上記2つの対応をしてもなかなか接続できず、SQLServer単体では外部からアクセスできないようでした。

解決方法

SQLServerインストール時に一緒にインストールされるSQLServerBrowserを起動する必要がありました。SQLServer2012以降、外部マシンからアクセスする場合はSQLServerBrowserも起動しないといけないようです。

開始で起動します。

デフォルト設定だと手動起動になるためWindowsの再起動など行う場合は毎回起動が必要です。
(頻繁に使用する場合は自動起動をオススメします)

起動モードを自動とすることもできます。

参考

Microsoft Build – SQLServerリリースノート
サーバーの認証モードの変更

さいごに

接続で困り設定を見直したポイントをtips的に紹介しました。

普段開発を行っていると、”別PCに立てたデータベースへアクセスする”ことは必ずと言っていいほど出くわします。
使用しているDBやOSによって設定方法が違いますが、疑うポイントは似ているのかな・・とも感じています。今回の事象、解消方法が疑うポイント(ヒント)の1つになれば嬉しいです!


RELATED ARTICLE