Microsoft SQL Server 2014 Express LocalDB
는 프로그램 개발자를 대상으로 하는 SQL Server Express의 실행 모드입니다.
LocalDB
설치는 SQL Server 데이터베이스 엔진을 시작하는 데 필요한 최소 파일 집합을 복사합니다. 설치되면 LocalDB
개발자는 특수 연결 문자열을 사용하여 연결을 시작합니다. 연결할 때 필요한 SQL Server 인프라가 자동으로 만들어지고 시작되므로 애플리케이션이 복잡하거나 시간이 많이 걸리는 구성 작업 없이 데이터베이스를 사용할 수 있습니다. 개발자 도구는 개발자에게 SQL Server의 전체 서버 인스턴스를 관리할 필요 없이 Transact-SQL 코드를 작성하고 테스트할 수 있는 SQL Server 데이터베이스 엔진을 제공할 수 있습니다. SQL Server ExpressLocalDB
인스턴스는 유틸리티를 사용하여 관리됩니다 SqlLocalDB.exe
. SQL Server ExpressLocalDB
는 사용되지 않는 SQL Server Express 사용자 인스턴스 기능 대신 사용해야 합니다.
LocalDB 설치
설치 LocalDB
의 기본 방법은 SqlLocalDB.msi 프로그램을 사용하는 것입니다.
LocalDB
는 SQL Server 2014 Express의 SKU를 설치할 때 옵션입니다. SQL Server Express를 설치하는 동안 기능 선택 페이지에서 선택합니다LocalDB
. 각 주요 SQL Server 데이터베이스 엔진 버전에 대해 LocalDB
이진 파일은 하나만 설치할 수 있습니다. 여러 데이터베이스 엔진 프로세스를 시작할 수 있으며 모두 동일한 이진 파일을 사용합니다.
LocalDB
로서 시작된 SQL Server 데이터베이스 엔진의 인스턴스는 SQL Server Express와 동일한 제한 사항이 있습니다.
설명
LocalDB
설치 프로그램은 SqlLocalDB.msi 프로그램을 사용하여 컴퓨터에 필요한 파일을 설치합니다. 설치되면 LocalDB
SQL Server 데이터베이스를 만들고 열 수 있는 SQL Server Express의 인스턴스입니다. 데이터베이스에 대한 시스템 데이터베이스 파일은 일반적으로 숨겨져 있는 사용자의 로컬 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 유틸리티는 새 인스턴스를 LocalDB
만들고, 인스턴스를 LocalDB
시작 및 중지할 수 있으며, 관리하는 LocalDB
데 도움이 되는 옵션을 포함합니다. SqlLocalDb 유틸리티에 대한 자세한 내용은 SqlLocalDB 유틸리티를 참조하세요.
인스턴스의 데이터 정렬 LocalDB
는 SQL_Latin1_General_CP1_CI_AS로 설정되어 있으며 변경할 수 없습니다. 데이터베이스 수준, 열 수준 및 식 수준 데이터 정렬은 일반적으로 지원됩니다. 포함된 데이터베이스는 포함된 데이터베이스 정렬에 의해 정의된 메타데이터 및 tempdb 정렬 규칙을 따릅니다.
제한 사항
LocalDB
는 병합 복제 구독자가 될 수 없습니다.
LocalDB
는 FILESTREAM을 지원하지 않습니다.
LocalDB
는 Service Broker에 대한 로컬 큐만 허용합니다.
NT AUTHORITY\SYSTEM과 같은 기본 제공 계정이 소유한 인스턴스 LocalDB
는 Windows 파일 시스템 리디렉션으로 인해 관리 효율성 문제가 발생할 수 있습니다. 대신 일반 Windows 계정을 소유자로 사용합니다.
자동 및 명명된 인스턴스
LocalDB
는 자동 인스턴스와 명명된 인스턴스의 두 가지 인스턴스를 지원합니다.
자동 인스턴스는
LocalDB
공용입니다. 사용자에 대해 자동으로 만들어지고 관리되며 모든 애플리케이션에서 사용할 수 있습니다. 사용자의 컴퓨터에 설치된 모든 버전LocalDB
에 대해 하나의 자동 인스턴스LocalDB
가 있습니다. 자동 인스턴스는LocalDB
원활한 인스턴스 관리를 제공합니다. 인스턴스를 만들 필요가 없습니다. 그것은 단지 작동합니다. 이렇게 하면 애플리케이션을 쉽게 설치하고 다른 컴퓨터로 마이그레이션할 수 있습니다. 대상 컴퓨터에 지정된 버전의LocalDB
설치가 있는 경우 대상 컴퓨터에서도 해당 버전의 자동 인스턴스LocalDB
를 사용할 수 있습니다. 자동 인스턴스에는LocalDB
예약된 네임스페이스에 속하는 인스턴스 이름에 대한 특수 패턴이 있습니다. 이렇게 하면LocalDB
의 명명된 인스턴스와 이름 충돌을 방지합니다. 자동 인스턴스의 이름은 MSSQLLocalDB입니다.명명된 인스턴스는
LocalDB
프라이빗입니다. 인스턴스를 만들고 관리하는 단일 애플리케이션에서 소유합니다. 명명된 인스턴스는 다른 인스턴스와의 격리를 제공하며 다른 데이터베이스 사용자와의 리소스 경합을 줄여 성능을 향상시킬 수 있습니다. 명명된 인스턴스는 관리 API를 통해LocalDB
사용자가 명시적으로 만들거나 관리되는 애플리케이션에 대한 app.config 파일을 통해 암시적으로 만들어야 합니다(관리되는 애플리케이션은 API를 사용할 수도 있지만 원하는 경우).LocalDB
의 각 명명된 인스턴스에는 해당LocalDB
버전이 연결되어 있으며, 이는 관련된LocalDB
이진 파일 집합을 가리킵니다. 인스턴스 이름은LocalDB
sysname
데이터 형식이며 최대 128자를 가질 수 있습니다. (이름은 16개의 ASCII 문자의 일반 NetBIOS 이름으로 제한되는 SQL Server의 일반 명명된 인스턴스와 다릅니다.) 인스턴스LocalDB
의 이름에는 파일 이름 내에 적합한 유니코드 문자가 포함될 수 있습니다. 자동 인스턴스 이름을 사용하는 명명된 인스턴스는 자동 인스턴스가 됩니다.
컴퓨터의 다른 사용자가 동일한 이름의 인스턴스를 가질 수 있습니다. 각 인스턴스는 다른 사용자로 실행되는 다른 프로세스입니다.
LocalDB의 공유 인스턴스
컴퓨터의 여러 사용자가 단일 인스턴스에 연결해야 하는 시나리오를 지원하려면 인스턴스 LocalDB
LocalDB
공유를 지원합니다. 인스턴스 소유자는 컴퓨터의 다른 사용자가 자신의 인스턴스에 연결할 수 있도록 선택할 수 있습니다. 자동 인스턴스와 명명된 인스턴스 모두를 LocalDB
공유할 수 있습니다. 사용자가 인스턴스를 공유하기 위해 공유 이름(별칭)을 선택합니다. 공유 이름은 컴퓨터의 모든 사용자에게 표시되므로 이 공유 이름은 컴퓨터에서 고유해야 합니다. 인스턴스의 LocalDB
공유 이름은 명명된 인스턴스 LocalDB
와 형식이 동일합니다.
컴퓨터의 관리자만 공유 인스턴스 LocalDB
를 만들 수 있습니다. 공유 인스턴스는 LocalDB
관리자 또는 공유 인스턴스 LocalDB
의 소유자가 공유하지 않을 수 있습니다. 인스턴스 LocalDB
를 공유 및 공유 해제하려면 LocalDB
API의 LocalDBShareInstance
및 LocalDBUnShareInstance
메서드 또는 SqlLocalDb 유틸리티의 공유 및 공유 해제 옵션을 사용하세요.
LocalDB 시작 및 LocalDB에 연결
자동 인스턴스에 연결
가장 쉬운 방법은 LocalDB
"Server=(localdb)\MSSQLLocalDB; 연결 문자열을 사용하여 현재 사용자가 소유한 자동 인스턴스에 연결하는 것입니다. 통합 보안=true". 파일 이름을 사용하여 특정 데이터베이스에 연결하려면 "Server=(LocalDB)\MSSQLLocalDB; 통합 보안=true; AttachDbFileName=D:\Data\MyDB1.mdf".
비고
컴퓨터 사용자가 처음으로 LocalDB
에 연결을 시도할 때 자동 인스턴스를 만들어 실행해야 합니다. 인스턴스를 만드는 데 추가 시간이 있으면 시간 제한 메시지와 함께 연결 시도가 실패할 수 있습니다. 이 경우 몇 초 정도 기다렸다가 생성 프로세스가 완료되도록 한 다음 다시 연결합니다.
명명된 인스턴스 만들기 및 연결
자동 인스턴스 외에도 명명된 인스턴스 LocalDB
도 지원합니다. SqlLocalDB.exe 프로그램을 사용하여 명명된 인스턴스를 만들고, 시작하고, 중지합니다 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
위의 마지막 줄은 다음과 유사한 정보를 반환합니다.
이름 | "LocalDBApp1" |
버전 | <현재 버전> |
공유 이름 | "" |
소유자 | "<Windows 사용자>" |
자동 만들기 | 아니오 |
시스템 상태 | 달리기 |
마지막 시작 시간 | <날짜 및 시간> |
인스턴스 파이프 이름 | np:\\.\pipe\LOCALDB#F365A78E\tsql\query |
비고
애플리케이션에서 4.0.2 이전 버전의 .NET을 사용하는 경우 명명된 파이프에 LocalDB
직접 연결해야 합니다. 인스턴스 파이프 이름 값은 인스턴스 LocalDB
가 수신 대기 중인 명명된 파이프입니다. LOCALDB# 이후의 인스턴스 파이프 이름 부분은 인스턴스 LocalDB
가 시작될 때마다 변경됩니다. SQL Server Management Studio를 사용하여 인스턴스 LocalDB
에 연결하려면 데이터베이스 엔진에 연결 대화 상자의 서버 이름 상자에 인스턴스 파이프 이름을 입력합니다. 사용자 지정 프로그램에서 다음과 유사한 연결 문자열을 사용하는 인스턴스 LocalDB
에 대한 연결을 설정할 수 있습니다. SqlConnection conn = new SqlConnection(@"Server=np:\\.\pipe\LOCALDB#F365A78E\tsql\query");
LocalDB의 공유 인스턴스에 연결
공유 인스턴스의 네임스페이스를 참조하기 위해 연결 문자열에 점과 백슬래시 ".\"을 추가하여 공유 인스턴스 LocalDB
에 연결합니다. 예를 들어 명명된 AppData
공유 인스턴스에 연결하려면 연결 문자열의 LocalDB
일부와 같은 (localdb)\.\AppData
연결 문자열을 사용합니다. 소유하지 않은 공유 인스턴스 LocalDB
에 연결하는 사용자에게는 Windows 인증 또는 SQL Server 인증 로그인이 있어야 합니다.
문제 해결
문제 해결 LocalDB
에 대한 자세한 내용은 SQL Server 2012 Express LocalDB 문제 해결을 참조하세요.
권한
SQL Server 2014 ExpressLocalDB
의 인스턴스는 사용자가 사용하기 위해 만든 인스턴스입니다. 컴퓨터의 모든 사용자는 사용자 프로필 아래에 파일을 저장하고 자격 증명으로 프로세스를 실행하는 인스턴스 LocalDB
를 사용하여 데이터베이스를 만들 수 있습니다. 기본적으로 인스턴스 LocalDB
에 대한 액세스는 소유자로 제한됩니다. 이 파일에 LocalDB
포함된 데이터는 데이터베이스 파일에 대한 파일 시스템 액세스로 보호됩니다. 사용자 데이터베이스 파일이 공유 위치에 저장된 경우 자신이 소유한 인스턴스 LocalDB
를 사용하여 해당 위치에 대한 파일 시스템 액세스 권한이 있는 모든 사용자가 데이터베이스를 열 수 있습니다. 데이터베이스 파일이 사용자 데이터 폴더와 같은 보호된 위치에 있는 경우 해당 사용자와 해당 폴더에 대한 액세스 권한이 있는 관리자만 데이터베이스를 열 수 있습니다.
LocalDB
파일은 한 번에 하나의 LocalDB
인스턴스에서만 열 수 있습니다.
비고
LocalDB
항상 사용자 보안 컨텍스트에서 실행됩니다. 즉, LocalDB
로컬 관리자 그룹의 자격 증명으로 실행되지 않습니다. 즉, 인스턴스에서 LocalDB
사용하는 모든 데이터베이스 파일은 로컬 관리자 그룹의 멤버 자격을 고려하지 않고 소유 사용자의 Windows 계정을 사용하여 액세스할 수 있어야 합니다.