LoginSignup
3
2

More than 1 year has passed since last update.

SQL Server LocalDBを利用する

Last updated at Posted at 2022-05-06

LocalDBとは?

SQL Server LocalDBはSQL Server Expressのオプションとしてインストール可能なコンポーネントで、ローカルでのテスト用にインストールすることが可能である。

SQL Server Expressとの違いは?

単一のDBしか動かすことができないが、実行時にデータベースファイル(mdfファイル)を指定することができるため、単体テスト用のDBを配布できることが特徴。

インストール方法

前述したとおり、SQL Server Expressのオプションとしてインストールするほか、Visual Studio 2019のインストール時に「 ASP.NET と Web 開発」のワークロードを選択していれば、機能の一部としてインストールされる。

追加でインストールする場合は、以下のようにVisual Studioインストーラーから個別コンポーネントとして選択。

image.png

また、以下の場所からインストーラーをダウンロードすることも可能。
https://docs.microsoft.com/ja-jp/sql/database-engine/configure-windows/sql-server-express-localdb?view=sql-server-ver15

接続方法

SQL Server Management Studio(SSMS)から接続可能。有効なインスタンス名はコマンドプロンプトでsqllocaldb infoと打ち込むと確認することができる。以下の例ではMSSQLLocalDB

image.png

SSMSの接続画面では、(SQL認証を利用する場合)上記のインスタンス名を用いて以下のように指定すればよい。

image.png

なお、最初はsaユーザーが無効になっている場合があるので、saユーザーを利用する場合は「セキュリティ」→「ログイン」でsaユーザーを選択し、ログインを有効化する必要がある場合がある。

image.png

DBのデタッチとアタッチ

LocalDBで利用しているデータベースをSQL Serverからデタッチしたい場合は、SSMSでデータベースを右クリックから「タスク>デタッチ」で行うことができるが、再度アタッチする場合にはSSMSからだとデータベース名をうまく復旧できないケースがあるので、以下のコマンドラインをSSMSで実行したほうが確実である。

デタッチアタッチ
CREATE DATABASE MyAdventureWorks  
    ON (FILENAME = 'C:\MySQLServer\AdventureWorks_Data.mdf'),  
    (FILENAME = 'C:\MySQLServer\AdventureWorks_Log.ldf')  
    FOR ATTACH;

この際、ログファイルの指定はなくても大丈夫である。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2