SQL 서버 컴팩트

마이크로소프트 SQL 서버 컴팩트(Microsoft SQL Server Compact, SQL CE)는 마이크로소프트가 모바일 장치 및 데스크톱에서 실행되는 애플리케이션을 위해 제작한 단종된 관계형 데이터베이스이다. 데스크톱 플랫폼 도입 전에는 윈도우 CE용 SQL 서버 및 SQL 서버 모바일 에디션으로 알려졌다.

32비트 및 64비트 기본 지원을 모두 포함한다. SQL CE는 가끔 연결되는 애플리케이션과 임베디드 데이터베이스가 있는 애플리케이션을 대상으로 한다. 무료로 다운로드하고 재배포할 수 있다. SQL CE용 ODBC 드라이버는 존재하지 않으며, 계획도 없다. 네이티브 애플리케이션은 OLE DB를 통해 SQL CE를 사용할 수 있다.

최신이자 마지막 릴리스는 SQL 서버 컴팩트 4.0이다. 2013년 2월 SQL 서버 컴팩트 에디션은 더 이상 사용되지 않게 되었으며, 새로운 버전이나 업데이트는 계획되지 않았지만, 마이크로소프트는 2021년 7월까지 제품을 계속 지원했다.

 개요 
SQL 서버 컴팩트는 다른 마이크로소프트 SQL 서버 에디션과 공통 API를 공유한다. 또한 ADO.NET API를 사용하여 데이터에 액세스하기 위한 ADO.NET 공급자와 내장된 동기화 기능, 그리고 LINQ 및 엔티티 프레임워크 지원도 포함한다. 향후 릴리스에서는 동기화 기능을 Microsoft Synchronization Services와 통합할 예정이다. 다른 마이크로소프트 SQL 서버 에디션과 달리 SQL CE는 호스팅하는 애플리케이션과 함께 인-프로세스로 실행된다. 디스크 풋프린트는 2 MB 미만이며, 메모리 풋프린트는 약 5MB이다. SQL CE는 모든 애플리케이션이 동일한 메모리 풀을 공유하는 아키텍처에 최적화되어 있다.
윈도우 8용 윈도우 스토어 앱은 SQL 서버 컴팩트 에디션이나 다른 SQL 서버 에디션을 사용할 수 없다.

+버전공식 명칭일반 명칭출시일지원 종료일SQL CE 1.02000-10-26SQL CE 1.12001-03-21SQL CE 2.02002-09-16SQL Server 2005 Mobile EditionSQL CE 3.02006-01-14SQL Server 2005 Compact EditionSQL CE 3.12007-02-192016-04-12SQL Server Compact 3.5SQL CE 3.52008-02-192018-04-10SQL Server Compact 4.0SQL CE 4.02011-04-132021-07-13

 지원 
SQL CE 데이터베이스는 ACID 준수를 지원할 수 있지만, 기본적으로 내구성 요구 사항을 충족하지 않는다. 이는 AutoFlush가 메모리의 변경 사항(포함된 주변 트랜잭션 및 Commit() 호출을 CommitMode.Immediate 값으로 재정의하지 않는 명시적 SQL CE 트랜잭션 포함)을 버퍼링하기 때문이다. 따라서 커밋된 트랜잭션 변경 사항이 손실될 수 있다. 내구성 요구 사항을 충족하려면 트랜잭션의 커밋 호출에서 즉시 플래그를 지정해야 한다. 마이크로소프트 SQL 서버와 마찬가지로 SQL CE는 트랜잭션, 참조 무결성 제약 조건, 잠금, 그리고 데이터베이스 저장소에 대한 다중 연결을 지원한다. 그러나 병렬 트랜잭션(다른 테이블에서)은 지원되지만, 중첩 트랜잭션은 지원되지 않는다. 현재 릴리스에서는 저장 프로시저 또는 기본 XML 데이터 형식을 지원하지 않는다. 쿼리에는 T-SQL의 하위 집합을 사용하며, XML 지원 부족으로 인해 XQuery도 지원되지 않는다. 쿼리는 최적화 쿼리 프로세서에 의해 처리된다. SQL CE 데이터베이스는 인덱싱도 지원하며, 원격 데이터 복제(원격 데이터베이스의 로컬 데이터 캐싱) 및 병합 복제(마스터 데이터베이스와의 양방향 동기화)를 지원한다.

SQL CE 데이터베이스는 마이크로소프트 비주얼 스튜디오와 일부 이전 버전의 SQL 서버 관리 스튜디오에서도 생성 및 관리할 수 있다.

 파일 형식 

SQL CE 데이터베이스는 단일 .sdf 파일에 존재하며, 최대 4 GB 크기일 수 있다. .sdf 파일은 데이터 보안을 위해 128비트 암호화로 암호화할 수 있다. SQL CE 런타임은 .sdf 파일에 대한 동시 다중 사용자 액세스를 중재한다. .sdf 파일은 배포를 위해 대상 시스템으로 간단히 복사하거나 클릭원스를 통해 배포할 수 있다. SQL CE 런타임은 DataDirectories를 지원한다. SQL CE 데이터베이스를 사용하는 애플리케이션은 ADO.NET 연결 문자열에 .sdf 파일의 전체 경로를 지정할 필요가 없으며, 대신 |DataDirectory|\<database_name>.sdf로 지정할 수 있으며, 데이터 디렉터리(.sdf 데이터베이스 파일이 있는 곳)는 애플리케이션의 어셈블리 매니페스트에 정의된다.

SQL 서버 관리 스튜디오 2005는 CE 3.0 및 3.1 데이터베이스 파일(최신 서비스 팩 포함)을 읽고 수정할 수 있지만, 3.5 버전 파일을 읽으려면 SQL 서버 관리 스튜디오 2008(또는 이후 버전)이 필요하다. 마이크로소프트 비주얼 스튜디오 익스프레스 2008 SP1은 CE 3.5 SP1 데이터베이스 파일을 생성, 수정 및 쿼리할 수 있다. SQL 서버 관리 스튜디오는 CE 4.0 파일을 읽을 수 없다. 비주얼 스튜디오 2010 SP1은 CE 4.0 데이터베이스 파일을 처리할 수 있다.

.sdf("Sqlce Database File") 명명 규칙은 선택 사항이며, 어떤 확장자도 사용할 수 있다.

데이터베이스 파일의 암호를 설정하는 것은 선택 사항이다. 데이터베이스는 압축하고 복구할 수 있으며, 압축/복구된 데이터베이스를 새 데이터베이스 파일에 배치하는 옵션도 있다.

 단종 
2013년 2월, 마이크로소프트는 SQL 서버 컴팩트 에디션이 단종되었다고 발표했다.

새로운 버전이나 업데이트는 계획되지 않았지만, 마이크로소프트는 표준 수명 주기 지원 정책을 통해 SQL 컴팩트를 계속 지원할 것이다. SQL 서버 컴팩트 4.0의 확장 지원은 2021년 7월 13일에 종료되었다.

 같이 보기 
 모바일 데이터베이스
 SQLite

 액세스 데이터베이스 엔진 (ACE 및 이전 JET)
 HSQLDB
 파이어버드

 각주 

 외부 링크 
 Microsoft's Embedded Database - SQL Server Compact - Team Blog at 마이크로소프트 런


분류:중단된 마이크로소프트 소프트웨어
분류:마이크로소프트 서버 기술
분류:마이크로소프트 데이터베이스 소프트웨어
분류:윈도우 모바일
분류:관계형 데이터베이스 관리 시스템