web-dev-qa-db-ja.com

SQL Server 2014 ExpressからlocalDBに接続する方法

LocalDBとManagement Studio for MS SQL Server 2014 Expressの両方をダウンロードして、ローカルマシンで練習できるようにしました。ただし、Management Studioを開いてlocalDBを参照して接続し、作成したデータベースを起動しようとすると、localDBが見つかりません。

誰かがこれを手伝ってくれませんか?

9
Squ1rr3lz

SQL Server Express LocalDB(通常は単に「LocalDB」と呼ばれます)はサービスベースのアプリケーションではありません。「サービス」には表示されません。また、マシンの起動時に起動したり、手動でシャットダウンするまで実行を継続したりすることもありません。 。

LocalDBは、ユーザーモードのバックグラウンドプロセスです。接続の最初の要求が着信したとき(要求が「(localdb)\ InstanceName」構文を使用していると想定)、またはSqlLocalDB.exeコマンドを介して明示的に開始されたときに開始されます。ラインユーティリティ。

したがって、インスタンス名がわかっている場合は、接続を試みるだけで、初回の起動には少し時間がかかりますが、その後の接続(アクティビティが一貫している場合)は高速になります。

インスタンスの名前がわからない場合は、次のようにSqlLocalDB.exeユーティリティを使用してリストを取得できます。

C:\>SqlLocalDB i

これにより、Windowsログインがアクセスできるインスタンスのリストが返されます。インスタンス名が.\で始まる場合、それは他のユーザーもアクセスできる共有インスタンスです(デフォルトでは、インスタンスはそれらを作成したログインに対して非公開です)。

そこから、以下を実行することで、より多くの情報(LocalDBインスタンスが「実行中」または「停止」のどちらであるかを含む)を取得できます。

C:\>SqlLocalDB i {InstanceName}

そしてあなたはそれを始めることでそれを始めることができます:

C:\>SqlLocalDB s {InstanceName}

LocalDBインスタンスへの最後の接続が閉じられると、インスタンスは約5分後に自動的に停止します(これはデフォルト設定ですが、さらに長く設定することもできます)。シャットダウンの遅延は、最後の接続が終了した直後に着信する接続について、再度起動を待つ必要がないようにするためです。

LocalDBには、使用しない場合でも、インストール時に作成される「デフォルト」のインスタンスが常にあります。 SQL Server 2012 Express LocalDBでは、デフォルトのインスタンス名はv11.0です。 LocalDBの2014バージョンでは、デフォルトのインスタンス名はMSSQLLocalDBです。また、ピリオド ""を使用して、LocalDB以外のデフォルトインスタンスに接続できます。

C:\>SQLCMD -S . -E -Q "SELECT @@SERVERNAME;"

「(LocalDB)\ InstanceName」構文とともに使用して、デフォルトのインスタンスに接続することもできます。

C:\>SQLCMD -S (LocalDB)\. -E -Q "SELECT @@SERVERNAME;"

LocalDBのデフォルトのインスタンスはtheのデフォルトのインスタンスとして1つしか指定できないことに注意してください。つまり、LocalDBの2012バージョンと2014バージョンの両方がインストールされている場合、(LocalDB)\を使用します。MSSQLLocalDBを参照しますv11.0インスタンスではなく、インスタンス。

18
Solomon Rutzky