9月 182016
 

PowerShell を使って DB にあんなことやこんなことを試してみたかった。ちょっとだけだよ。

Visual Studio 2015 を試している時に「LocalDB」とかいう文字列を見た覚えがあったので、調べて実際に試してみた備忘録。

MicrosoftSQL Server 2016 Express LocalDB とは

公式より引用

Microsoft SQL Server 2016 Express LocalDB の実行モードは、開発者を対象とした SQL Server Express の実行モードです。

LocalDB インストールによって、 SQL Server データベース エンジンの開始に最低限必要なファイルがコピーされます。 LocalDB のインストール後に、特殊な接続文字列を使用して接続を開始できます。 接続時に、必要な SQL Server インフラストラクチャが自動的に作成および開始されるため、複雑な構成タスクを行わなくてもアプリケーションでデータベースを使用できます。 開発者ツールによって、開発者は SQL Server データベース エンジンを使用して Transact-SQL コードを記述してテストすることができ、SQL Server の完全なサーバー インスタンスを管理する必要はありません。

乱暴に要約すると、開発者向けで必要最小限の SQL Server ということかな。
便利っぽい気がする。

インストール等は参考サイトに載っているので割愛。Visual Studio をインストールしている人は気がついたらインストールされていたりしないかな? 自分がこのパターンです ^^;

SqlLocalDB を扱うには、SqlLocalDB ユーティリティ (SqlLocalDB.exe) を利用します。

SqlLocalDB とは

MicrosoftSQL Server 2016 Express LocalDB のインスタンスを作成するには、SqlLocalDB ユーティリティを使用します。 SqlLocalDB ユーティリティ (SqlLocalDB.exe) は、ユーザーおよび開発者が SQL Server Express LocalDB のインスタンスを作成および管理できるようにするシンプルなコマンド ライン ツールです。

SqlLocalDB を使用して LocalDB を利用する

SqlLocalDB ユーティリティを使用して、LocalDB を操作してみます。

PowerShell を起動

まずは PowerShell を管理者モードで起動します。

インスタンスを作成する

新しいインスタンス misono を作成してみます。

インスタンス情報を取得する

ユーザー所有のインスタンス情報を取得します。

作成されているだけで嬉しくなる名前にして良かったです。

詳細な情報を取得するときには、引数にインスタンス名を指定します。

インスタンスを起動する

状態が停止しているので起動します。

状態を確認してみます。

状態が実行中に変わりました。

sqlcmd で接続してみる

私の環境では sqlcmd へパスが通っていませんでしたので、次のコマンドでとりあえずパスを通しました。

sqlcmd で LocalDB へ接続してみます。

データベース一覧を取得するコマンドを流してみます

データベースを作成する

データファイルやトランザクションログファイルを指定せずにデータベース miyamiya を作成します。

再度データベース一覧を取得してみます。

データベース一覧を取得するコマンドを流してみます

sqlcmd から抜ける

PowerShell で Create Table を流してみる

インスタンス misono のデータベース miyamiya に PowerShell から接続する

PowerShell で Insert を流してみる

PowerShell で select を流してみる

考察

少し試したい時に手軽で良さそうな感じがする

参考


 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">