次の方法で共有


SQL Server Express LocalDB インスタンス API

Applies to:SQL Server

従来のサービス ベースの SQL Server の世界では、1 台のコンピューターにインストールされている個々の SQL Server インスタンスが物理的に分離されています。 各インスタンスを個別にインストールおよび削除し、個別のバイナリ セットを持ち、個別のサービス プロセスで実行する必要があります。 ユーザーが接続する先の SQL Server インスタンスは、SQL Server インスタンス名を使用して指定されます。

SQL Server Express LocalDB インスタンス API では、簡略化された簡易インスタンス モデルが使用されます。 個々の LocalDB インスタンスは、ディスク上とレジストリ内で独立していますが、同じ 1 組の共有 LocalDB バイナリを使用します。 さらに、LocalDB ではサービスは使用されません。 LocalDB インスタンスは、LocalDB インスタンス API 呼び出しを通じてオンデマンドで起動されます。 LocalDB では、ユーザーが使用する LocalDB インスタンスを指定するために、インスタンス名が使用されます。

LocalDB インスタンスは常に 1 人のユーザーによって所有され、インスタンス共有が有効になっていない限り、このユーザーのコンテキストからのみ表示およびアクセスできます。

技術的には LocalDB インスタンスは従来の SQL Server インスタンスと同じではありませんが、使用目的は似ています。 They are called instances to emphasize this similarity and to make them more intuitive to SQL Server users.

LocalDB では、自動インスタンス (AI) と名前付きインスタンス (NI) という 2 種類のインスタンスがサポートされています。 LocalDB インスタンスの識別子は、インスタンス名です。

自動 LocalDB インスタンス

Automatic LocalDB instances are public; they are created and managed automatically for the user and can be used by any application. ユーザーのコンピューターにインストールされている LocalDB のすべてのバージョンに対して、1 つの自動 LocalDB インスタンスが存在します。

自動 LocalDB インスタンスを使用すると、シームレスなインスタンス管理を実行できます。 ユーザーはインスタンスを作成する必要はありません。 これにより、ユーザーはアプリケーションのインストールや、複数の異なるコンピューターへの移行を容易に行うことができます。 ターゲット コンピューターに指定バージョンの LocalDB がインストールされている場合、そのコンピューターでは、同じバージョンの自動 LocalDB インスタンスも使用できます。

インスタンスの自動管理

ユーザーは、自動 LocalDB インスタンスを作成する必要はありません。 指定したバージョンの LocalDB がユーザーのコンピューターで使用できる限り、インスタンスはインスタンスが初めて使用されるときに遅延して作成されます。 LocalDB バイナリが存在する場合、ユーザーの観点からは、自動インスタンスは常に存在します。

自動インスタンスには、削除、共有、共有解除など、その他のインスタンス管理操作も使用できます。 特に、自動インスタンスを削除すると、インスタンスが実質的にリセットされ、次の開始操作で再作成されます。 システム データベースが破損した場合は、自動インスタンスの削除が必要になる場合があります。

インスタンスの自動名前付け規則

自動 LocalDB インスタンスのインスタンス名には特殊なパターンがあり、これは予約済み名前空間に属します。 このようなパターンが必要になるのは、名前付き LocalDB インスタンスと名前が競合するのを防ぐためです。

自動インスタンス名は、LocalDB ベースライン リリース バージョン番号の前に 1 つの v 文字が付けられます。 これは、v11.0V12.00など、vと 2 つの数値の間にピリオドが付いているように見えます。

無効な自動インスタンス名の例を次に示します。

  • 11.0 (先頭に v 文字がありません)
  • v11 (ピリオドとバージョンの 2 番目の番号がありません)
  • v11. (バージョンの 2 番目の番号がありません)
  • v11.0.1.2 (バージョン番号には 2 つ以上の部分があります)

名前付き LocalDB インスタンス

Named LocalDB instances are private; an instance is owned by a single application that is responsible for creating and managing the instance. 名前付き LocalDB インスタンスを使用すると、そのインスタンスを分離することで、パフォーマンスの向上を図ることができます。

名前付きインスタンスの作成

ユーザーは、LocalDB 管理 API を使用して明示的に、またはマネージド アプリケーションの app.config ファイルを使用して暗黙的に名前付きインスタンスを作成する必要があります。 マネージド アプリケーションでは、API を使用することもできます。

各名前付きインスタンスには、特定の LocalDB バージョンが関連付けらています。つまり、各名前付きインスタンスは、LocalDB バイナリの特定のセットを指しています。 名前付きインスタンスのバージョンは、インスタンス作成時に設定されます。

名前付きインスタンスの名前付け規則

A LocalDB instance name can have up to a total of 128 characters (the limit is imposed by the sysname data type). これは、従来の SQL Server インスタンス名と比較すると、大きく異なります。従来は、16 の ASCII 文字で構成される NetBIOS 名に制限されていました。 この違いの理由は、LocalDB ではデータベースがファイルとして扱われるため、ファイルベースのセマンティクスを意味するため、ユーザーはインスタンス名を自由に選択できます。

LocalDB のインスタンス名には、ファイル名コンポーネント内で有効な任意の Unicode 文字を使用できます。 ファイル名コンポーネント内の無効な文字には、通常、次の文字が含まれます: ASCII/Unicode 文字 1 から 31、 および引用符 (")、より小さい (<)、より大きい (>)、パイプ (|)、バックスペース (\b)、タブ (\t)、コロン (:)、アスタリスク (*)、疑問符 (?)、バックスラッシュ (\)、およびスラッシュ (/)。 文字列の終了に使用されるため、null 文字 (\0) は許可されます。最初の null 文字の後のすべての文字は無視されます。

Note

無効な文字の一覧はオペレーティング システムによって異なっており、今後のリリースで変更される可能性があります。

インスタンス名の先頭と末尾の空白は無視され、トリミングされます。

名前付けの競合を回避するために、「自動インスタンスの名前付け規則」セクションで前述したように、名前付けされた LocalDB インスタンスに、自動インスタンスの名前付けパターンに従う 名前を 付けることはできません。 自動インスタンスの名前付けパターンに従う名前を持つ名前付きインスタンスを作成しようとすると、実質的に既定のインスタンスが作成されます。

Article Description
SQL Server Express LocalDB のヘッダーとバージョン情報 LocalDB インスタンス API を見つけるためのヘッダー ファイル情報とレジストリ キーを提供します。
コマンドライン管理ツール:SqlLocalDB.exe コマンド ラインから LocalDB インスタンスを管理するツールである SqlLocalDB.exe について説明します。
LocalDBCreateInstance Function LocalDB インスタンスを新規作成するための関数について説明します。
LocalDBDeleteInstance Function LocalDB インスタンスを削除する関数について説明します。
LocalDBFormatMessage Function LocalDB エラーのローカライズされた説明を返す関数について説明します。
LocalDBGetInstanceInfo Function LocalDB インスタンスの情報 (存在するかどうか、バージョン情報、実行中かどうかなど) を取得する関数について説明します。
LocalDBGetInstances Function 指定されたバージョンの LocalDB インスタンスをすべて返す関数について説明します。
LocalDBGetVersionInfo Function 指定された LocalDB バージョンの情報を返す関数について説明します。
LocalDBGetVersions Function コンピューターにインストールされているすべての LocalDB バージョンを返す関数について説明します。
LocalDBShareInstance Function 指定された LocalDB インスタンスを共有するための関数について説明します。
LocalDBStartInstance Function 指定された LocalDB インスタンスを起動する関数について説明します。
LocalDBStartTracing Function ユーザーの API トレースを有効にする関数について説明します。
LocalDBStopInstance Function 指定された LocalDB インスタンスの実行を停止する関数について説明します。
LocalDBStopTracing Function ユーザーの API トレースを無効にする関数について説明します。
LocalDBUnshareInstance Function 指定された LocalDB インスタンスの共有を停止する関数について説明します。