SQL Server 2016 Express LocalDBSQL Server 2016 Express LocalDB

適用対象: ○SQL Server XAzure SQL Database XAzure SQL Data Warehouse XParallel Data WarehouseAPPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

以前のバージョンの SQL Server に関連するコンテンツの詳細については、「SQL Server 2014 Express LocalDB」を参照してください。For content related to previous versions of SQL Server, see SQL Server 2014 Express LocalDB.

Microsoft SQL Server 2016 Express LocalDB は、開発者を対象とした SQL Server Express の機能です。Microsoft SQL Server 2016 Express LocalDB is a feature of SQL Server Express targeted to developers. SQL Server 2016 Express with Advanced Services で利用できます。It is available on SQL Server 2016 Express with Advanced Services.

LocalDB インストールによって、 SQL Server データベース エンジンSQL Server Database Engineの開始に最低限必要なファイルがコピーされます。LocalDB installation copies a minimal set of files necessary to start the SQL Server データベース エンジンSQL Server Database Engine. LocalDB のインストール後に、特殊な接続文字列を使用して接続を開始できます。Once LocalDB is installed, you can initiate a connection using a special connection string. 接続時に、必要な SQL ServerSQL Server インフラストラクチャが自動的に作成および開始されるため、複雑な構成タスクを行わなくてもアプリケーションでデータベースを使用できます。When connecting, the necessary SQL ServerSQL Server infrastructure is automatically created and started, enabling the application to use the database without complex configuration tasks. 開発者ツールによって、開発者は SQL Server データベース エンジンSQL Server Database Engine を使用して Transact-SQLTransact-SQL コードを記述してテストすることができ、 SQL ServerSQL Serverの完全なサーバー インスタンスを管理する必要はありません。Developer Tools can provide developers with a SQL Server データベース エンジンSQL Server Database Engine that lets them write and test Transact-SQLTransact-SQL code without having to manage a full server instance of SQL ServerSQL Server.

お試しくださいTry it out!

  • SQL Server 2016 Express は、「SQL Server ダウンロード」からダウンロードしてインストールできます。To download and install SQL Server 2016 Express, go to SQL Server downloads. LocalDB は、インストール中に選択する機能で、メディアをダウンロードするときに使用できます。LocalDB is a feature you select during installation, and is available when you download the media. メディアをダウンロードする場合は、 [Express Advanced] または [LocalDB] パッケージを選択します。If you download the media, either choose Express Advanced or the LocalDB package.

  • Azure アカウントをすでにお持ちですか?Have an Azure account? すでにお持ちの場合は、 こちら にアクセスして、 SQL Server 2016 (13.x)SQL Server 2016 (13.x) がインストール済みの仮想マシンをすぐにご利用いただけます。Then go here to spin up a Virtual Machine with SQL Server 2016 (13.x)SQL Server 2016 (13.x) already installed.

LocalDB をインストールするInstall LocalDB

インストール ウィザードまたは SqlLocalDB.msi プログラムを使用して、 LocalDB をインストールします。Install LocalDB through the installation wizard or by using the SqlLocalDB.msi program. LocalDBSQL Server 2016 ExpressSQL Server 2016 Expressをインストールするときのオプションです。LocalDB is an option when installing SQL Server 2016 ExpressSQL Server 2016 Express.

インストール時に [機能の選択/共有機能] ページで LocalDB を選択します。Select LocalDB on the Feature Selection/Shared Features page during installation. 主要な のバージョンごとに LocalDB SQL Server データベース エンジンSQL Server Database Engine のバイナリ ファイルのインストールが 1 つだけ表示されます。There can be only one installation of the LocalDB binary files for each major SQL Server データベース エンジンSQL Server Database Engine version. 複数の データベース エンジンDatabase Engine プロセスを開始することができ、すべてのプロセスが使用するバイナリは同じです。Multiple データベース エンジンDatabase Engine processes can be started and will all use the same binaries. LocalDB として開始された SQL Server データベース エンジンSQL Server Database Engine のインスタンスには、 SQL Server ExpressSQL Server Express と同じ制限があります。An instance of the SQL Server データベース エンジンSQL Server Database Engine started as the LocalDB has the same limitations as SQL Server ExpressSQL Server Express.

SQL Server ExpressSQL Server Express LocalDB のインスタンスは、SqlLocalDB.exe ユーティリティを使用して管理されます。An instance of SQL Server ExpressSQL Server Express LocalDB is managed by using the SqlLocalDB.exe utility. SQL Server ExpressSQL Server Express LocalDB LocalDB SQL Server ExpressSQL Server Express を使用する必要があります。 LocalDB should be used in place of the SQL Server ExpressSQL Server Express user instance feature which is deprecated.

[説明]Description

LocalDB セットアップ プログラムは、SqlLocalDB.msi プログラムを使用してコンピューターに必要なファイルをインストールします。The LocalDB setup program uses the SqlLocalDB.msi program to install the necessary files on the computer. LocalDB はインストールされると SQL Server ExpressSQL Server Express のインスタンスとなり、 SQL ServerSQL Server データベースを作成して開くことができます。Once installed, LocalDB is an instance of SQL Server ExpressSQL Server Express that can create and open SQL ServerSQL Server databases. データベースのシステム データベース ファイルは、通常は非表示になっているユーザーのローカル AppData パスに格納されます。The system database files for the database are stored in the users' local AppData path which is normally hidden. たとえば、C:\Users\<user>\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\LocalDBApp1\ などです。For example C:\Users\<user>\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\LocalDBApp1\. ユーザー データベース ファイルは、ユーザーが指定する場所、通常は C:\Users\<user>\Documents\ フォルダーに格納されます。User database files are stored where the user designates, typically somewhere in the C:\Users\<user>\Documents\ folder.

LocalDB をアプリケーションに含める方法については、 Visual StudioVisual Studio のマニュアル「ローカル データの概要」、「チュートリアル: SQL Server LocalDB データベースの作成」、「チュートリアル: SQL Server LocalDB データベースのデータへの接続 (Windows Forms)」を参照してください。For more information about including LocalDB in an application, see the Visual StudioVisual Studio documentation Local Data Overview, Walkthrough: Creating a SQL Server LocalDB Database, and Walkthrough: Connecting to Data in a SQL Server LocalDB Database (Windows Forms).

LocalDB API の詳細については、「 SQL Server Express LocalDB のインスタンス API リファレンス 」および「 LocalDBStartInstance 関数」を参照してください。For more information about the LocalDB API, see SQL Server Express LocalDB Instance API Reference and LocalDBStartInstance Function.

SqlLocalDb ユーティリティは、 LocalDBの新しいインスタンス作成、 LocalDBインスタンスの起動と終了を行うことができ、 LocalDBの管理に役立つオプションが含まれます。The SqlLocalDb utility can create new instances of LocalDB, start and stop an instance of LocalDB, and includes options to help you manage LocalDB. SqlLocalDb ユーティリティの詳細については、「 SqlLocalDB ユーティリティ」を参照してください。For more information about the SqlLocalDb utility, see SqlLocalDB Utility.

LocalDB のインスタンスの照合順序は SQL_Latin1_General_CP1_CI_AS に設定され、変更することはできません。The instance collation for LocalDB is set to SQL_Latin1_General_CP1_CI_AS and cannot be changed. データベース レベル、列レベル、および式レベルの照合順序は正常にサポートされます。Database-level, column-level, and expression-level collations are supported normally. 包含データベースは、 Contained Database Collationsによって定義されたメタデータおよび tempdb の照合順序ルールに従います。Contained databases follow the metadata and tempdb collations rules defined by Contained Database Collations.

制限Restrictions

LocalDB はマージ レプリケーションのサブスクライバーとして使用することはできません。LocalDB cannot be a merge replication subscriber.

LocalDB では FILESTREAM がサポートされていません。LocalDB does not support FILESTREAM.

LocalDB では Service Broker に対してローカル キューのみが許可されます。LocalDB only allows local queues for Service Broker.

NT AUTHORITY\SYSTEM などの組み込みのアカウントが所有する LocalDB のインスタンスには、Windows ファイル システムのリダイレクトのため管理の容易性の問題が生じることがあります。代わりに、所有者として通常の Windows アカウントを使用します。An instance of LocalDB owned by the built-in accounts such as NT AUTHORITY\SYSTEM can have manageability issues due to windows file system redirection; Instead use a normal windows account as the owner.

自動インスタンスと名前付きインスタンスAutomatic and Named Instances

LocalDB では、自動インスタンスと名前付きインスタンスという 2 種類のインスタンスがサポートされています。LocalDB supports two kinds of instances: Automatic instances and named instances.

  • LocalDB の自動インスタンスはパブリックです。Automatic instances of LocalDB are public. ユーザーのために自動的に作成および管理され、任意のアプリケーションから使用できます。They are created and managed automatically for the user and can be used by any application. どのバージョンの LocalDB に対しても、ユーザーのコンピューターにインストールされている LocalDB の自動インスタンスが 1 つ存在します。One automatic instance of LocalDB exists for every version of LocalDB installed on the user’s computer. LocalDB の自動インスタンスを使用すると、シームレスなインスタンス管理を実行できます。Automatic instances of LocalDB provide seamless instance management. インスタンスを作成する必要はありません。それだけで動作します。There is no need to create the instance; it just works. これにより、アプリケーションのインストールと別のコンピューターへの移行が簡単になります。This allows for easy application installation and migration to a different computer. 対象コンピューターに指定バージョンの LocalDB がインストールされている場合、その対象コンピューターでも同じバージョンの LocalDB の自動インスタンスを使用できます。If the target machine has the specified version of LocalDB installed, the automatic instance of LocalDB for that version is available on the target machine as well. LocalDB の自動インスタンスのインスタンス名には特殊なパターンがあり、これは予約済み名前空間に属します。Automatic instances of LocalDB have a special pattern for the instance name that belongs to a reserved namespace. これにより、 LocalDBの名前付きインスタンスとの名前の競合を防ぎます。This prevents name conflicts with named instances of LocalDB. 自動インスタンスの名前は MSSQLLocalDBです。The name for the automatic instance is MSSQLLocalDB.

  • LocalDB の名前付きインスタンスはプライベートです。Named instances of LocalDB are private. これらは、そのインスタンスの作成と管理を行う単一のアプリケーションによって所有されます。They are owned by a single application that is responsible for creating and managing the instance. 名前付きインスタンスは他のインスタンスからの分離を可能にし、他のデータベース ユーザーとのリソースの競合を減らすことによってパフォーマンスを向上させることができます。Named instances provide isolation from other instances and can improve performance by reducing resource contention with other database users. 名前付きインスタンスは、ユーザーが LocalDB 管理 API を通じて明示的に作成するか、マネージド アプリケーションの app.config ファイルを通じて暗黙的に作成する必要があります (ただし、マネージド アプリケーションでは必要に応じて API も使用できます)。Named instances must be created explicitly by the user through the LocalDB management API or implicitly via the app.config file for a managed application (although managed application may also use the API, if desired). LocalDB の各名前付きインスタンスには、 LocalDB バイナリの特定のセットを指す特定の LocalDB バージョンが関連付けられています。Each named instance of LocalDB has an associated LocalDB version that points to the respective set of LocalDB binaries. LocalDB のインスタンス名は sysname データ型で、最大文字数は 128 文字ですThe instance name of a LocalDB is sysname data type and can have up to 128 characters. (これは、 SQL ServerSQL Server の正規の名前付きインスタンスとは異なり、16 の ASCII 文字で構成される正規の NetBIOS 名に制限されることはありません)。LocalDB のインスタンス名には、ファイル名内で有効な任意の Unicode 文字を使用できます。(This differs from regular named instances of SQL ServerSQL Server, which limits names to regular NetBIOS names of 16 ASCII chars.) The name of an instance of LocalDB can contain any Unicode characters that are legal within a filename. 自動インスタンス名を使用する名前付きインスタンスは、自動インスタンスになります。A named instance that uses an automatic instance name becomes an automatic instance.

    コンピューターの異なるユーザーが同じ名前のインスタンスを持つことができます。Different users of a computer can have instances with the same name. 各インスタンスは、別のユーザーとして実行している別のプロセスです。Each instance is a different processes running as a different user.

LocalDB の共有インスタンスShared Instances of LocalDB

コンピューターの複数のユーザーが LocalDBの単一インスタンスに接続する必要のあるシナリオをサポートするために、 LocalDB はインスタンス共有をサポートします。To support scenarios where multiple users of the computer need to connect to a single instance of LocalDB, LocalDB supports instance sharing. インスタンスの所有者は、コンピューター上の他のユーザーに自分のインスタンスへの接続を許可することを選択できます。An instance owner can choose to allow the other users on the computer to connect to his instance. LocalDB の自動インスタンスと名前付きインスタンスの両方を共有できます。Both automatic and named instances of LocalDB can be shared. LocalDB のインスタンスを共有するには、ユーザーがその共有名 (別名) を選択します。To share an instance of LocalDB a user selects a shared name (alias) for it. 共有名はコンピューターのすべてのユーザーから参照できるため、この共有名はコンピューター上で一意である必要があります。Because the shared name is visible to all users of the computer, this shared name must be unique on the computer. LocalDB のインスタンスの共有名は、 LocalDBの名前付きインスタンスと同じ形式です。The shared name for an instance of LocalDB has the same format as the named instance of LocalDB.

コンピューターの管理者だけが、 LocalDBの共有インスタンスを作成できます。Only an administrator on the computer can create a shared instance of LocalDB. LocalDB の共有インスタンスは、管理者または LocalDBの共有インスタンスの所有者が共有解除できます。A shared instance of LocalDB can be unshared by an administrator or by the owner of the shared instance of LocalDB. LocalDBのインスタンスを共有または共有解除するには、 LocalDBShareInstance LocalDB LocalDBUnShareInstance API の メソッドと メソッドを使用するか、SqlLocalDb ユーティリティの共有および共有解除オプションを使用します。To share and unshared an instance of LocalDB, use the LocalDBShareInstance and LocalDBUnShareInstance methods of the LocalDB API, or the share and unshared options of the SqlLocalDb utility.

LocalDB の起動および LocalDB への接続Starting LocalDB and Connecting to LocalDB

自動インスタンスへの接続Connecting to the Automatic Instance

LocalDB を使用する最も簡単な方法は、接続文字列 "Server=(localdb)\MSSQLLocalDB;Integrated Security=true" を使用して、現在のユーザーが所有する自動インスタンスに接続することです。The easiest way to use LocalDB is to connect to the automatic instance owned by the current user by using the connection string "Server=(localdb)\MSSQLLocalDB;Integrated Security=true". ファイル名を使用して特定のデータベースに接続するには、 "Server=(LocalDB)\MSSQLLocalDB; Integrated Security=true ;AttachDbFileName=D:\Data\MyDB1.mdf" のような接続文字列を使用して接続します。To connect to a specific database by using the file name, connect using a connection string similar to "Server=(LocalDB)\MSSQLLocalDB; Integrated Security=true ;AttachDbFileName=D:\Data\MyDB1.mdf".

注意

あるコンピューターでユーザーが初めて LocalDBに接続しようとする場合、自動インスタンスが必ず作成され開始されます。The first time a user on a computer tries to connect to LocalDB, the automatic instance must be both created and started. インスタンスの作成に時間がかかり、接続がタイムアウト メッセージで失敗する可能性があります。The extra time for the instance to be created can cause the connection attempt to fail with a timeout message. この場合は、作成プロセスが完了するまで数秒待ってから再び接続します。When this happens, wait a few seconds to let the creation process complete, and then connect again.

名前付きインスタンスの作成および接続Creating and Connecting to a Named Instances

LocalDB では、自動インスタンスに加えて名前付きインスタンスもサポートされます。In addition to the automatic instance, LocalDB also supports named instances. SqlLocalDB.exe プログラムを使用して、 LocalDBの名前付きインスタンスを作成、開始、および停止します。Use the SqlLocalDB.exe program to create, start, and stop an named instance of LocalDB. SqlLocalDB.exe の詳細については、「 SqlLocalDB ユーティリティ」を参照してください。For more information about SqlLocalDB.exe, see SqlLocalDB Utility.

REM Create an instance of LocalDB  
"C:\Program Files\Microsoft SQL Server\130\Tools\Binn\SqlLocalDB.exe" create LocalDBApp1  
REM Start the instance of LocalDB  
"C:\Program Files\Microsoft SQL Server\130\Tools\Binn\SqlLocalDB.exe" start LocalDBApp1  
REM Gather information about the instance of LocalDB  
"C:\Program Files\Microsoft SQL Server\130\Tools\Binn\SqlLocalDB.exe" info LocalDBApp1  

上記の最後の行によって、次のような情報が返されます。The last line above, returns information similar to the following.

[オブジェクト名]Name "LocalDBApp1""LocalDBApp1"
[バージョンのオプション]Version <現在のバージョン><Current Version>
共有名Shared name """"
[所有者]Owner "<Windows ユーザー>""<Your Windows User>"
自動作成Auto create いいえNo
状態State 実行running
前回の開始時刻Last start time <日付と時刻><Date and Time>
インスタンス パイプ名Instance pipe name np:\\.\pipe\LOCALDB#F365A78E\tsql\querynp:\\.\pipe\LOCALDB#F365A78E\tsql\query

注意

アプリケーションで .NET 4.0.2 より前のバージョンを使用している場合、 LocalDBの名前付きパイプに直接接続する必要があります。If your application uses a version of .NET before 4.0.2 you must connect directly to the named pipe of the LocalDB. インスタンス パイプ名の値は、 LocalDB のインスタンスがリッスンしている名前付きパイプです。The Instance pipe name value is the named pipe that the instance of LocalDB is listening on. LOCALDB# の後ろのインスタンス パイプ名の部分は、LocalDB のインスタンスが開始されるたびに変わります。The portion of the Instance pipe name after LOCALDB# will change each time the instance of LocalDB is started. [SQL Server Management Studio]SQL Server Management Studio を使用して LocalDB のインスタンスに接続するには、[ データベース エンジンDatabase Engineへの接続] ダイアログ ボックスにある [サーバー名] ボックスにインスタンス パイプ名を入力します。To connect to the instance of LocalDB by using [SQL Server Management Studio]SQL Server Management Studio, type the Instance pipe name in the Server name box of the Connect to データベース エンジンDatabase Engine dialog box. カスタム プログラムで LocalDB LocalDB SqlConnection conn = new SqlConnection(@"Server=np:\\.\pipe\LOCALDB#F365A78E\tsql\query");From your custom program you can establish connection to the instance of LocalDB using a connection string similar to SqlConnection conn = new SqlConnection(@"Server=np:\\.\pipe\LOCALDB#F365A78E\tsql\query");

LocalDB の共有インスタンスへの接続Connecting to a Shared Instance of LocalDB

LocalDB の共有インスタンスに接続するには、.\ (ドット + 円記号) を接続文字列に追加して、共有インスタンス用に予約されている名前空間を参照します。To connect to a shared instance of LocalDB add .\ (dot + backslash) to the connection string to reference the namespace reserved for shared instances. たとえば、 という名前の LocalDB AppData の共有インスタンスに接続するには、接続文字列の一部として (localdb)\.\AppData などの接続文字列を使用します。For example, to connect to a shared instance of LocalDB named AppData use a connection string such as (localdb)\.\AppData as part of the connection string. 自身のものではない LocalDB の共有インスタンスに接続するユーザーには、Windows 認証または SQL ServerSQL Server 認証ログインが必要です。A user connecting to a shared instance of LocalDB that they do not own must have a Windows Authentication or SQL ServerSQL Server Authentication login.

トラブルシューティングTroubleshooting

LocalDBのトラブルシューティングについては、「 SQL Server 2012 Express LocalDB のトラブルシューティング」を参照してください。For information about troubleshooting LocalDB, see Troubleshooting SQL Server 2012 Express LocalDB.

アクセス許可Permissions

NT AUTHORITY\SYSTEM などの組み込みのアカウントが所有する SQL Server 2016 ExpressSQL Server 2016 ExpressLocalDB のインスタンスは、ユーザーによって作成される、ユーザー専用のインスタンスです。An instance of SQL Server 2016 ExpressSQL Server 2016 ExpressLocalDB is an instance created by a user for their use. コンピューター上のユーザーであれば、データベースを作成できます。データベースを作成するには、 LocalDBのインスタンスを使用して、ファイルをそのユーザー プロファイルに格納し、自分の資格情報を使用して処理を実行します。Any user on the computer can create a database using an instance of LocalDB, storing files under their user profile and running the process under their credentials. 既定では、 LocalDB のインスタンスにアクセスできるのは、その所有者に制限されます。By default, access to the instance of LocalDB is limited to its owner. LocalDB に含まれるデータは、データベース ファイルにアクセスするファイル システムによって保護されます。The data contained in the LocalDB is protected by file system access to the database files. ユーザー データベース ファイルが共有の場所に格納されている場合は、ファイル システムでその場所にアクセスできるユーザーであればだれでも、所有する LocalDB のインスタンスを使用してデータベースを開くことができます。If user database files are stored in a shared location, the database can be opened by anyone with file system access to that location by using an instance of LocalDB that they own. データベース ファイルがユーザー データ フォルダーなどの保護された場所に格納されている場合は、そのユーザーおよびそのフォルダーにアクセスできる管理者だけがデータベースを開くことができます。If the database files are in a protected location, such as the users data folder, only that user, and any administrators with access to that folder, can open the database. LocalDB ファイルを開く際には、 LocalDB のインスタンスを一度に 1 つしか使用できません。The LocalDB files can only be opened by one instance of LocalDB at a time.

注意

LocalDB は、常にユーザーのセキュリティ コンテキストに基づいて実行されます。つまり、 LocalDB は、ローカル管理者グループの資格情報で実行されることはありません。LocalDB always runs under the users security context; that is, LocalDB never runs with credentials from the local Administrator’s group. そのため、 LocalDB インスタンスで使用されるすべてのデータベース ファイルは、ローカルの Administrators グループのメンバーシップを考慮することなく、所有するユーザーの Windows アカウントを使用してアクセスできる必要があります。This means that all database files used by a LocalDB instance must be accessible using the owning user’s Windows account, without considering membership in the local Administrators group.

参照See Also

SqlLocalDB ユーティリティSqlLocalDB Utility