概要
Intellij(DataGrip)ではJDBCドライバーを利用し各DBに接続することができます。今回はSQLServerにWindows認証方式で接続する方法について調べたので紹介します。
環境
- macOS Catalina 10.15.7
- SQLServer 2016
結論
JDBCドライバー
JDBCドライバーとして以下のjTDSを利用します。
オプション
URLに以下のようにuseNTLMv2とdomainのオプションを指定します。その他userやpasswordはいつもどおり入力します。
jdbc:sqlserver://ホスト名;useNTLMv2=true;domain=ドメイン名
詳細
SQLServerの認証方法
SQL Serverには2種類の認証モードがあります。それが以下の2種類です。
- Windows認証: Windowsのドメインで認証する
- SQL Server認証: 作成したユーザー・パスワードで認証する
SQL Srever認証の場合の接続方法
URLには以下のようにホスト名のみを指定し、userやpasswordを入力することで接続できます。
jdbc:sqlserver://ホスト名
Windows認証の場合の接続
改めましてjdbcからWindwos認証でSQLServerに接続する場合、jTDSを利用し、以下のようにuseNTLMv2とdomainを指定することで接続できます。
jdbc:sqlserver://ホスト名;useNTLMv2=true;domain=ドメイン名
オプションについて
Windows認証でSQLServerに接続する場合、付与する必要のあるオプションについて説明します。
useNTLMv2
NTLMはWindownsの認証方式の一つです。そのためこの認証方式が利用できる場合においてuseNTLMv2オプションをtrueとすることでNTLMv2を利用したWindows認証にて接続ができるようになります。
NTLM認証が無効になっている場合はこちらの方法が利用できないため注意が必要です。Windows認証に関しては以下をご参照ください。
domain
domainはActive Directoryのドメインです。接続するSQLServerが所属するドメインを指定する必要があります。
まとめ
macのIntellij(JDBC)からwindows認証でSQLServerに接続する方法を紹介しました。接続したいよと思った方のご参考になれば幸いです。