Share via


SQL Server 2014 Express LocalDB

Microsoft SQL Server 2014 Express LocalDB 는 프로그램 개발자를 대상으로 하는 SQL Server Express 실행 모드입니다. LocalDB설치는 SQL Server 데이터베이스 엔진을 시작하는 데 필요한 최소한의 파일 집합을 복사합니다. 설치되면 LocalDB 개발자는 특수 연결 문자열을 사용하여 연결을 시작합니다. 연결할 때 필요한 SQL Server 인프라가 자동으로 만들어지고 시작되므로 애플리케이션이 복잡하거나 시간이 많이 걸리는 구성 작업 없이 데이터베이스를 사용할 수 있습니다. 개발자 도구는 SQL Server 데이터베이스 엔진의 전체 서버 인스턴스를 관리할 필요 없이 Transact-SQL 코드를 작성하고 테스트할 수 있게 해주는 SQL Server 데이터베이스 엔진을 개발자에게 제공합니다. SQL Server Express instanceLocalDB 유틸리티를 SqlLocalDB.exe 사용하여 관리됩니다. LocalDB SQL Server Express 사용되지 않는 SQL Server Express 사용자 instance 기능 대신 사용해야 합니다.

LocalDB 설치

설치 LocalDB 의 기본 방법은 SqlLocalDB.msi 프로그램을 사용하는 것입니다. LocalDB는 SQL Server 2014 Express의 SKU를 설치할 때 옵션입니다. SQL Server Express 설치하는 동안 기능 선택 페이지에서 를 선택합니다LocalDB. 각 주 SQL Server 데이터베이스 엔진 버전에 대해 이진 파일을 하나만 설치 LocalDB 할 수 있습니다. 여러 데이터베이스 엔진 프로세스를 시작할 수 있으며, 이러한 프로세스에는 모두 동일한 이진 파일이 사용됩니다. SQL Server 데이터베이스 엔진의 instance SQL Server Express 동일한 제한 사항이 있으므로 시작 LocalDB 됩니다.

Description

LocalDB 설치 프로그램은 SqlLocalDB.msi 프로그램을 사용하여 컴퓨터에 필요한 파일을 설치합니다. 설치되면 SQL Server LocalDB 데이터베이스를 만들고 열 수 있는 SQL Server Express instance. 데이터베이스의 시스템 데이터베이스 파일은 사용자의 로컬 AppData 경로에 저장되는데, 이 경로는 일반적으로 숨겨져 있습니다. 예: C:\Users\<user>\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\LocalDBApp1\. 사용자 데이터베이스 파일은 사용자가 지정하는 위치에 저장되며, 일반적으로 C:\Users\user>\<Documents\ 폴더의 어딘가에 저장됩니다.

애플리케이션에 포함 LocalDB 에 대한 자세한 내용은 Visual Studio 설명서 로컬 데이터 개요, 연습: SQL Server LocalDB 데이터베이스 만들기 및 연습: SQL Server LocalDB 데이터베이스(Windows Forms)에서 데이터에 연결을 참조하세요.

API에 대한 LocalDB 자세한 내용은 SQL Server Express LocalDB 인스턴스 API 참조LocalDBStartInstance 함수를 참조하세요.

SqlLocalDb 유틸리티는 의 새 인스턴스를 만들고, 의 LocalDBinstance LocalDB시작 및 중지할 수 있으며, 를 관리하는 LocalDB데 도움이 되는 옵션을 포함합니다. SqlLocalDb 유틸리티에 대한 자세한 내용은 SqlLocalDB 유틸리티를 참조하세요.

에 대한 LocalDB instance 데이터 정렬은 SQL_Latin1_General_CP1_CI_AS 설정되며 변경할 수 없습니다. 데이터베이스 수준, 열 수준 및 식 수준 데이터 정렬은 일반적으로 지원됩니다. 포함된 데이터베이스는 Contained Database Collations에 정의된 메타데이터 및 tempdb 데이터 정렬 규칙을 따릅니다.

제한

LocalDB 병합 복제 구독자가 될 수 없습니다.

LocalDB 은 FILESTREAM을 지원하지 않습니다.

LocalDB Service Broker에 대한 로컬 큐만 허용합니다.

NT AUTHORITY\SYSTEM과 같은 기본 제공 계정이 소유한 instance LocalDB Windows 파일 시스템 리디렉션으로 인한 관리 효율성 문제가 있을 수 있습니다. 대신 일반 Windows 계정을 소유자로 사용합니다.

자동 및 명명된 인스턴스

LocalDB 는 자동 인스턴스와 명명된 인스턴스의 두 가지 종류의 인스턴스를 지원합니다.

  • LocalDB 자동 인스턴스는 공용입니다. 이 인스턴스는 자동으로 생성 및 관리되고 모든 애플리케이션에서 사용될 수 있습니다. 사용자의 컴퓨터에 설치된 모든 버전의 LocalDB 자동 instance LocalDB 있습니다. 의 LocalDB 자동 인스턴스는 원활한 instance 관리를 제공합니다. 인스턴스를 만들 필요 없이 그대로 작동합니다. 따라서 애플리케이션을 쉽게 설치할 수 있으며 다른 컴퓨터에 쉽게 마이그레이션할 수 있습니다. 대상 컴퓨터에 지정된 버전의 LocalDB가 설치되어 있을 경우 해당 버전에 대한 자동 LocalDB 인스턴스를 대상 컴퓨터에서도 사용할 수 있습니다. 의 LocalDB 자동 인스턴스에는 예약된 네임스페이스에 속하는 instance 이름에 대한 특수 패턴이 있습니다. 이렇게 하면 이름이 의 LocalDB명명된 인스턴스와 충돌하지 않습니다. 자동 인스턴스의 이름은 MSSQLLocalDB입니다.

  • LocalDB 명명된 인스턴스는 프라이빗입니다. 이 인스턴스는 인스턴스 만들기와 관리를 담당하는 단일 애플리케이션에 의해 소유됩니다. 명명된 인스턴스는 다른 인스턴스로부터의 격리를 제공하고 다른 데이터베이스 사용자와의 리소스 경합을 줄여서 성능을 향상시킬 수 있습니다. 명명된 인스턴스는 관리 API를 통해 LocalDB 사용자가 명시적으로 만들거나 관리되는 애플리케이션에 대한 app.config 파일을 통해 암시적으로 만들어야 합니다(관리되는 애플리케이션은 API를 사용할 수도 있지만 원하는 경우). 의 명명된 LocalDB 각 instance LocalDB 이진 파일 집합 LocalDB 을 가리키는 연결된 버전이 있습니다. 의 LocalDBsysname instance 이름은 데이터 형식이며 최대 128자를 포함할 수 있습니다. (이름은 16개의 ASCII 문자의 일반 NetBIOS 이름으로 제한되는 SQL Server 일반 명명된 인스턴스와 다릅니다.) 의 instance LocalDB 이름에는 파일 이름 내에 적합한 유니코드 문자가 포함될 수 있습니다. 자동 인스턴스 이름을 사용하는 명명된 인스턴스는 자동 인스턴스가 됩니다.

컴퓨터의 다른 사용자는 동일한 이름의 인스턴스를 가질 수 있습니다. 각 인스턴스는 다른 사용자로 실행되는 서로 다른 프로세스입니다.

LocalDB의 공유 인스턴스

컴퓨터의 여러 사용자가 단일 instance 연결해야 하는 시나리오를 지원하려면 instance LocalDBLocalDB 공유를 지원합니다. 인스턴스 소유자는 컴퓨터의 다른 사용자가 자신의 인스턴스에 연결하도록 허용할 수 있습니다. 의 LocalDB 자동 인스턴스와 명명된 인스턴스를 모두 공유할 수 있습니다. LocalDB 인스턴스를 공유하려면 사용자가 해당 인스턴스에 대한 공유 이름(별칭)을 선택합니다. 공유 이름은 컴퓨터의 모든 사용자에게 표시되기 때문에 이 공유 이름은 해당 컴퓨터에서 고유해야 합니다. 의 instance 공유 이름은 의 LocalDB 명명된 instance LocalDB형식과 동일합니다.

컴퓨터의 관리자만 의 LocalDB공유 instance 만들 수 있습니다. 의 LocalDB 공유 instance 관리자 또는 의 공유 instance LocalDB소유자가 공유하지 않을 수 있습니다. 의 LocalDBinstance 공유하고 공유 해제하려면 API의 LocalDBLocalDBUnShareInstance 메서드 또는 SqlLocalDb 유틸리티의 공유 및 공유되지 않은 옵션을 사용합니다LocalDBShareInstance.

LocalDB 시작 및 LocalDB에 연결

자동 인스턴스에 연결

가장 쉬운 방법은 LocalDB연결 문자열 "Server=(localdb)\MSSQLLocalDB;Integrated Security=true"를 사용하여 현재 사용자가 소유한 자동 instance 연결하는 것입니다. 파일 이름을 사용하여 특정 데이터베이스에 연결하려면 "Server=(LocalDB)\MSSQLLocalDB; Integrated Security=true ;AttachDbFileName=D:\Data\MyDB1.mdf"와 유사한 연결 문자열을 사용하여 연결합니다.

참고

컴퓨터의 사용자가 처음으로 에 연결하려고 할 LocalDB때 자동 instance 만들고 시작해야 합니다. 인스턴스를 만드는 추가 시간으로 인해 시간 초과 메시지와 함께 연결 시도가 실패할 수 있습니다. 이 경우 만들기 프로세스가 완료되도록 몇 초 정도 기다린 후에 다시 연결하세요.

명명된 인스턴스 만들기 및 연결

자동 instance LocalDB 외에도 명명된 인스턴스도 지원합니다. SqlLocalDB.exe 프로그램을 사용하여 의 명명된 instance 만들고, 시작하고, 중지합니다LocalDB. SqlLocalDB.exe에 대한 자세한 내용은 SqlLocalDB 유틸리티를 참조하세요.

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

위에서 마지막 줄은 다음과 비슷한 정보를 반환합니다.

Name "LocalDBApp1"
버전 <현재 버전>
공유 이름 ""
소유자 "<Windows 사용자>"
자동 만들기
시스템 상태 실행 중
마지막 시작 시간 <날짜 및 시간>
인스턴스 파이프 이름 np:\\.\pipe\LOCALDB#F365A78E\tsql\query

참고

애플리케이션이 4.0.2 이전의 .NET 버전을 사용하는 경우 의 LocalDB명명된 파이프에 직접 연결해야 합니다. 인스턴스 파이프 이름 값은 의 instance LocalDB 수신 대기 중인 명명된 파이프입니다. 의 instance LocalDB 시작될 때마다 LOCALDB#의 인스턴스 파이프 이름 부분이 변경됩니다. SQL Server Management Studio 사용하여 의 LocalDB instance 연결하려면 데이터베이스 엔진에 연결 대화 상자의 서버 이름 상자에 인스턴스 파이프 이름을 입력합니다. 사용자 지정 프로그램에서 다음과 유사한 연결 문자열을 사용하는 instance LocalDB 대한 연결을 설정할 수 있습니다.SqlConnection conn = new SqlConnection(@"Server=np:\\.\pipe\LOCALDB#F365A78E\tsql\query");

LocalDB의 공유 인스턴스에 연결

공유 LocalDB 인스턴스에 예약된 네임스페이스를 참조하기 위해 연결 문자열에 .\ (점 + 백슬래시)를 추가하는 공유 instance 연결합니다. 예를 들어 명명 AppData 된 의 LocalDB 공유 instance 연결하려면 연결 문자열의 일부와 같은 (localdb)\.\AppData 연결 문자열을 사용합니다. 자신이 소유하지 않은 공유 instance LocalDB 연결하는 사용자에게는 Windows 인증 또는 SQL Server 인증 로그인이 있어야 합니다.

문제 해결

문제 해결LocalDB에 대한 자세한 내용은 SQL Server 2012 Express LocalDB 문제 해결을 참조하세요.

사용 권한

SQL Server 2014 ExpressLocalDB의 instance 사용자가 사용하기 위해 만든 instance. 컴퓨터의 모든 사용자는 의 instance LocalDB사용하여 데이터베이스를 만들 수 있으며, 파일은 사용자 프로필 아래에 저장하고 자격 증명으로 프로세스를 실행할 수 있습니다. 기본적으로 의 LocalDB instance 대한 액세스는 소유자로 제한됩니다. 에 LocalDB 포함된 데이터는 데이터베이스 파일에 대한 파일 시스템 액세스로 보호됩니다. 사용자 데이터베이스 파일이 공유 위치에 저장된 경우 자신이 소유한 instance LocalDB 사용하여 해당 위치에 대한 파일 시스템 액세스 권한이 있는 모든 사용자가 데이터베이스를 열 수 있습니다. 데이터베이스 파일이 사용자 데이터 폴더와 같은 보호되는 위치에 있으면 해당 사용자 및 해당 폴더에 대한 액세스 권한이 있는 관리자만 데이터베이스를 열 수 있습니다. 파일은 LocalDB 한 번에 하나의 instance LocalDB 만 열 수 있습니다.

참고

LocalDB 항상 사용자 보안 컨텍스트에서 실행됩니다. 즉, LocalDB 로컬 관리자 그룹의 자격 증명으로 실행되지 않습니다. 즉, instance 사용하는 LocalDB 모든 데이터베이스 파일은 로컬 Administrators 그룹의 멤버 자격을 고려하지 않고 소유한 사용자의 Windows 계정을 사용하여 액세스할 수 있어야 합니다.

참고 항목

SqlLocalDB 유틸리티