LocalDB とは?

.NET Framework 4.0.2 以降では、System.Data.SqlClient プロバイダーで LocalDB なるデータベースに接続できるようになっています。

そもそも、この LocalDB とはいったいなにものでしょうか?

また、なぜ LocalDB が登場したのでしょうか。

SQL Express "LocalDB" の登場

LocalDB というひとことで登場することが多いですが、要は SQL Server Express です。

なぜこれが登場したのでしょうか?その背景は次のようなことになってます。

SQL Server Express がフリーの、しかし、基本的な機能としてはフルセットの SQL Server として広く使われるようになりました。 Express とはいえ、開発で利用するには 100% の互換性を期待されるため、基本機能は SQL Server と同等である必要があるため複雑さをましていきました。

しかし開発者の視点でいえば、API レベルで互換性があれば開発で利用するには十分なはずです。

しかも開発で使うという用途を満たせれば小さいほど良いはずです。(SQLite などはポータブルで人気ですよね)

開発者のための開発用の SQL Server Express として、よりシンプルで小さいけれど、 API レベルの互換性を保っている。

そういう目的で開発・リリースされたのが SQL Server Express LocalDB です。

LocalDB の特徴

LocalDB は次のような特徴があります。

  • アプリケーションからは通常の (SQL Server に接続するのと同様の) クライアントサイドプロバイダーで接続可能。
  • 複数の LocalDB へ接続する場合、それぞれのプロセスを起動する。
  • LocalDB はサービスとして作成されない。
  • "Data Source=(localdb)\v11.0" として接続することで接続でき、接続を試みるクライアントプロセスの子プロセスとして sqlservr.exe が起動される。 (接続文字列 "Data Source=(localdb)\v11.0;Integrated Security=true" で接続できる)

ここまでお読みいただき、誠にありがとうございます。SNS 等でこの記事をシェアしていただけますと、大変励みになります。どうぞよろしくお願いします。

© 2024 Web/DB プログラミング徹底解説