SQL Server 2016 Express LocalDBSQL Server 2016 Express LocalDB

이 항목 적용 대상: 예SQL Server없습니다Azure SQL 데이터베이스없습니다Azure SQL 데이터 웨어하우스 없습니다 병렬 데이터 웨어하우스THIS TOPIC APPLIES TO: yesSQL ServernoAzure SQL DatabasenoAzure 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 2016SQL Server 2016 이 이미 설치된 가상 컴퓨터를 실행해 보세요.Then go here to spin up a Virtual Machine with SQL Server 2016SQL Server 2016 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 이진 파일을 하나만 설치할 수 있습니다.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. SQL Server 데이터베이스 엔진SQL Server Database Engine LocalDB 로 시작된 인스턴스는 다음과 동일한 제한 사항을 갖습니다.: SQL Server ExpressSQL Server ExpressAn 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. 설치가 끝나면 LocalDBSQL 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\<사용자>\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\<사용자>\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 에서는 Automatic Instance 및 Named Instance의 두 가지 인스턴스를 지원합니다.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 인스턴스가 있습니다.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. 이러한 특성은 이름을 16 ASCII 문자의 일반 NetBIOS 이름으로 제한하는 SQL ServerSQL Server의 일반적인 명명된 인스턴스와 다릅니다. LocalDB 인스턴스 이름은 파일 이름에 사용할 수 있는 모든 유니코드 문자를 포함할 수 있습니다.(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
StateState 실행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 StudioSQL Server Management Studio를 사용하여 LocalDB 인스턴스에 연결하려면 데이터베이스 엔진Database Engine에 연결 대화 상자의 서버 이름 상자에 인스턴스 파이프 이름을 입력합니다.To connect to the instance of LocalDB by using SQL Server Management StudioSQL 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 인스턴스에서만 열 수 있습니다.The LocalDB files can only be opened by one instance of LocalDB at a time.

참고

LocalDB 는 항상 사용자 보안 컨텍스트에서 실행됩니다. 즉, LocalDB 는 로컬 Administrator 그룹의 자격 증명으로는 실행되지 않습니다.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