SQL Server Express LocalDB 참조 - 인스턴스 API
적용 대상: SQL Server
기존의 서비스 기반 SQL Server 환경에서는 단일 컴퓨터에 설치된 개별 SQL Server 인스턴스가 물리적으로 구분됩니다. 즉, 각 인스턴스를 별도로 설치하고 제거해야 하며, 별도의 이진 파일 집합을 가지고 있으며, 별도의 서비스 프로세스에서 실행됩니다. SQL Server 인스턴스 이름은 사용자가 연결하려는 SQL Server 인스턴스를 지정하는 데 사용됩니다.
SQL Server Express LocalDB 인스턴스 API는 간소화된 "light" 인스턴스 모델을 사용합니다. 개별 LocalDB 인스턴스는 디스크와 레지스트리에서 구분되지만 동일한 공유 LocalDB 이진 파일 집합을 사용합니다. 또한 LocalDB는 서비스를 사용하지 않습니다. LocalDB 인스턴스는 LocalDB 인스턴스 API 호출을 통해 요청 시 시작됩니다. LocalDB에서 인스턴스 이름은 사용자가 작업하려는 LocalDB 인스턴스를 지정하는 데 사용됩니다.
LocalDB 인스턴스는 항상 단일 사용자가 소유하며 인스턴스 공유를 사용하도록 설정하지 않는 한 이 사용자의 컨텍스트에서만 표시되고 액세스할 수 있습니다.
기술적으로 LocalDB 인스턴스는 기존 SQL Server 인스턴스와 다르지만 용도는 비슷합니다. 이러한 유사성을 강조하고 SQL Server 사용자에게 보다 직관적으로 만들기 위해 인스턴스라고 합니다.
LocalDB는 두 종류의 인스턴스인 AI(자동 인스턴스)와 NI(명명된 인스턴스)를 지원합니다. LocalDB 인스턴스의 식별자는 인스턴스 이름입니다.
자동 LocalDB 인스턴스
자동 LocalDB 인스턴스는 "public"입니다. 사용자에 대해 자동으로 만들어지고 관리되며 모든 애플리케이션에서 사용할 수 있습니다. 사용자의 컴퓨터에 설치된 모든 버전의 LocalDB에 대해 하나의 자동 LocalDB 인스턴스가 있습니다.
자동 LocalDB 인스턴스는 원활한 인스턴스 관리를 제공합니다. 사용자는 인스턴스를 만들 필요가 없습니다. 이렇게 하면 사용자가 애플리케이션을 쉽게 설치하고 다른 컴퓨터로 마이그레이션할 수 있습니다. 대상 컴퓨터에 지정된 버전의 LocalDB가 설치되어 있는 경우 해당 버전의 자동 LocalDB 인스턴스도 해당 컴퓨터에서 사용할 수 있습니다.
자동 인스턴스 관리
사용자는 자동 LocalDB 인스턴스를 만들 필요가 없습니다. 지정된 버전의 LocalDB를 사용자의 컴퓨터에서 사용할 수 있는 경우 인스턴스가 처음 사용될 때 인스턴스가 지연적으로 만들어집니다. 사용자의 관점에서 LocalDB 이진 파일이 있는 경우 자동 인스턴스는 항상 존재합니다.
삭제, 공유 및 공유 해제와 같은 다른 인스턴스 관리 작업도 자동 인스턴스에 대해 작동합니다. 특히 자동 인스턴스를 삭제하면 인스턴스가 효과적으로 다시 설정되며, 이 인스턴스는 다음 시작 작업에서 다시 만들어집니다. 시스템 데이터베이스가 손상된 경우 자동 인스턴스를 삭제해야 할 수 있습니다.
자동 인스턴스 명명 규칙
자동 LocalDB 인스턴스에는 예약된 네임스페이스에 속하는 인스턴스 이름에 대한 특수 패턴이 있습니다. 이름이 명명된 LocalDB 인스턴스와 충돌하지 않도록 하는 데 필요합니다.
자동 인스턴스 이름은 단일 "v" 문자 앞에 오는 LocalDB 기준 릴리스 버전 번호입니다. "v"와 두 숫자 사이에 마침표가 있는 두 개의 숫자처럼 보입니다. 예를 들어 v11.0 또는 V12.00입니다.
잘못된 자동 인스턴스 이름의 예는 다음과 같습니다.
11.0(처음에 "v" 문자 누락)
v11(점과 버전의 두 번째 숫자가 없음)
v11. (두 번째 버전 번호 누락)
v11.0.1.2(버전 번호에는 두 개 이상의 부분이 있습니다.)
명명된 LocalDB 인스턴스
명명된 LocalDB 인스턴스는 "private"입니다. 인스턴스는 인스턴스를 만들고 관리하는 단일 애플리케이션에서 소유합니다. 명명된 LocalDB 인스턴스는 격리를 제공하고 성능을 향상시킵니다.
명명된 인스턴스 만들기
사용자는 LocalDB 관리 API를 통해 명시적으로 명명된 인스턴스를 만들거나, 관리 애플리케이션에 대한 app.config 파일을 통해 암시적으로 만들어야 합니다. 관리 애플리케이션은 API를 사용할 수도 있습니다.
명명된 각 인스턴스에는 연결된 LocalDB 버전이 있습니다. 즉, 지정된 LocalDB 이진 파일 집합을 가리킵니다. 명명된 인스턴스의 버전은 인스턴스를 만드는 과정에서 설정됩니다.
명명된 인스턴스 명명 규칙
LocalDB 인스턴스 이름은 최대 128자까지 포함할 수 있습니다(sysname 데이터 형식에 의해 제한이 적용됨). 이는 NetBIOS 이름이 16자의 ASCII 문자로 제한되는 기존 SQL Server 인스턴스 이름과 비교할 때 중요한 차이점입니다. 이러한 차이의 이유는 LocalDB가 데이터베이스를 파일로 처리하므로 파일 기반 의미 체계를 의미하므로 사용자가 인스턴스 이름을 더 자유롭게 선택할 수 있는 직관적이기 때문입니다.
LocalDB 인스턴스 이름에는 파일 이름 구성 요소 내에서 적합한 유니코드 문자가 포함될 수 있습니다. 파일 이름 구성 요소의 잘못된 문자에는 일반적으로 ASCII/유니코드 문자 1~31과 따옴표("), 보다 작음(),보다> 큼(<|), 파이프(|), 백스페이스(\b), 탭(\t), 콜론(:), 별표(*), 물음표(?), 백슬래시(\) 및 슬래시(/)가 포함됩니다. null 문자(\0)는 문자열 종료에 사용되므로 허용됩니다. 첫 번째 null 문자 뒤의 모든 항목은 무시됩니다.
참고 항목
잘못된 문자 목록은 운영 체제에 따라 달라질 수 있으며 향후 릴리스에서 변경될 수 있습니다.
인스턴스 이름의 선행 공백과 후행 공백은 무시되므로 제거됩니다.
이름 충돌을 방지하기 위해 이름이 LocalDB 인스턴스는 "자동 인스턴스 명명 규칙"의 앞부분에서 설명한 대로 자동 인스턴스의 명명 패턴을 따르는 이름을 가질 수 없습니다. 자동 인스턴스 명명 패턴을 따르는 이름으로 명명된 인스턴스를 만들려는 시도는 기본 인스턴스를 효과적으로 만듭니다.
SQL Server Express LocalDB 참조 항목
SQL Server Express LocalDB 헤더 및 버전 정보
LocalDB 인스턴스 API를 찾기 위한 헤더 파일 정보 및 레지스트리 키를 제공합니다.
명령줄 관리 도구: SqlLocalDB.exe
명령줄에서 LocalDB 인스턴스를 관리하기 위한 도구인 SqlLocalDB.exe 대해 설명합니다.
LocalDBCreateInstance 함수
새 LocalDB 인스턴스를 만드는 함수에 대해 설명합니다.
LocalDBDeleteInstance 함수
LocalDB 인스턴스를 제거하는 함수에 대해 설명합니다.
LocalDBFormatMessage 함수
LocalDB 오류에 대한 지역화된 설명을 반환하는 함수에 대해 설명합니다.
LocalDBGetInstanceInfo 함수
LocalDB 인스턴스의 존재 여부, 버전 정보, 실행 여부 등과 같은 LocalDB 인스턴스에 대한 정보를 가져오는 함수에 대해 설명합니다.
LocalDBGetInstances 함수
지정된 버전을 사용하여 모든 LocalDB 인스턴스를 반환하는 함수에 대해 설명합니다.
LocalDBGetVersionInfo 함수
지정된 LocalDB 버전에 대한 정보를 반환하는 함수에 대해 설명합니다.
LocalDBGetVersions 함수
컴퓨터에서 사용할 수 있는 모든 LocalDB 버전을 반환하는 함수에 대해 설명합니다.
LocalDBShareInstance 함수
지정된 LocalDB 인스턴스를 공유하는 함수에 대해 설명합니다.
LocalDBStartInstance 함수
지정된 LocalDB 인스턴스를 시작하는 함수에 대해 설명합니다.
LocalDBStartTracing 함수
사용자에 대해 API 추적을 사용하도록 설정하는 함수에 대해 설명합니다.
LocalDBStopInstance 함수
지정된 LocalDB 인스턴스를 중지하는 함수에 대해 설명합니다.
LocalDBStopTracing 함수
사용자에 대한 API 추적을 사용하지 않도록 설정하는 함수에 대해 설명합니다.
LocalDBUnshareInstance 함수
지정된 LocalDB 인스턴스 공유를 중지하는 함수에 대해 설명합니다.