SQL Server を長く触っている人ほど「え、SQL Native Client(SQLNCLI)どこ行った?」と驚くはずです。 結論から言うと、SQL Server 2022 以降では SQL Native Client は完全に廃止され、インストールメディアにも含まれません。
この記事では、
- なぜ SQL Native Client が消えたのか
- 代わりに何を使えばいいのか
- 既存アプリはどうすればいいのか
- 別名(Alias)設定はどう変わったのか
といった実務で困るポイントをまとめます。
SQL Native Client は SQL Server 2022 で正式に廃止
SQL Native Client(SQLNCLI / SQLNCLI11)は、SQL Server 2012 以降「レガシ扱い」になっていました。 そしてついに SQL Server 2022 では完全に同梱されなくなりました。
つまり、
- SQL Server 2022 をインストールしても SQLNCLI は入らない
- SSMS 19 以降も SQLNCLI ベースの機能は削除
- 新規開発で SQLNCLI を使うことは非推奨
という状態です。
代替として Microsoft が推奨するドライバ
Microsoft は今後の接続ドライバとして、以下の 2 つを明確に推奨しています。
1. Microsoft ODBC Driver for SQL Server(最新は ODBC Driver 18)
- Windows / Linux / macOS で利用可能
- TLS 1.2 以降のセキュリティ要件に対応
- 今後のメインストリーム
2. Microsoft OLE DB Driver for SQL Server(MSOLEDBSQL)
- OLE DB を使うアプリ向けの後継ドライバ
- SQLNCLI の後継として Microsoft が正式にメンテナンス
新規開発は ODBC Driver 18 一択と言っていい状況です。
既存アプリで SQL Native Client が必要な場合
レガシアプリが SQLNCLI を前提にしているケースはまだ多いです。 その場合は、SQL Server 2022 には含まれないため、別途インストールする必要があります。
入手元は以下のような旧バージョンの Feature Pack(例:SQL Server 2012 Feature Pack)。 ただし、これはあくまで「延命措置」であり、Microsoft も非推奨です。
長期的には ODBC / OLE DB への移行が必須。
SQL Server 2022 で alias(別名)設定が変わった
SQL Server 2019 までは「SQL Server 構成マネージャー」から SQL Native Client ベースの alias を作成できました。
しかし 2022 では その UI が削除されています。
代わりに使うのは:
✔ cliconfg.exe(SQL クライアント構成)
Windows に標準で入っているため、 SQLNCLI が無くても alias 設定は可能です。
接続文字列の移行ポイント
SQLNCLI を使っている接続文字列は、以下のように書き換えます。
SQLNCLI(旧)
Provider=SQLNCLI11;Server=server01;Database=Sample;Trusted_Connection=yes;OLE DB(新)
Provider=MSOLEDBSQL;Server=server01;Database=Sample;Trusted_Connection=yes;ODBC(推奨)
Driver={ODBC Driver 18 for SQL Server};Server=server01;Database=Sample;Trusted_Connection=yes;Encrypt=yes;TrustServerCertificate=yes;特に ODBC Driver 18 は Encrypt=yes がデフォルト必須なので注意。
実務でよくあるトラブルと対処
● SQL Server 2022 にしたらアプリが接続できなくなった
→ アプリが SQLNCLI を要求している → ODBC Driver 18 または MSOLEDBSQL をインストールして接続文字列を更新
● 別名設定が見つからない
→ SQL Server 構成マネージャーから削除 → cliconfg.exe を使用
● Visual Studio では動くのに本番で動かない
→ VS が勝手に ODBC/OLEDB を入れている → 本番環境にも同じドライバを明示的に導入
まとめ:SQL Native Client は完全に過去のものへ
SQL Server 2022 以降では:
| 項目 | 状況 |
|---|---|
| SQL Native Client | 廃止(同梱なし) |
| 新規開発 | ODBC Driver 18 / MSOLEDBSQL を使用 |
| レガシアプリ | SQLNCLI を別途入手して延命可能(非推奨) |
| 別名設定 | cliconfg.exe を使用 |
SQLNCLI は長く使われてきましたが、 セキュリティ要件やクロスプラットフォーム対応を考えると、 ODBC Driver 18 への移行は避けられません。

コメント