SQL 서버 컴팩트

**마이크로소프트 SQL 서버 컴팩트**(Microsoft SQL Server Compact, **SQL CE**)는 마이크로소프트가 모바일 장치 및 데스크톱에서 실행되는 애플리케이션을 위해 제작한 단종된 관계형 데이터베이스이다. 데스크톱 플랫폼 도입 전에는 윈도우 CE용 SQL 서버 및 SQL 서버 모바일 에디션으로 알려졌다. 32비트 및 64비트 기본 지원을 모두 포함한다. SQL CE는 가끔 연결되는 애플리케이션과 임베디드 데이터베이스가 있는 애플리케이션을 대상으로 한다.url-status = dead 무료로 다운로드하고 재배포할 수 있다. SQL CE용 ODBC 드라이버는 존재하지 않으며, 계획도 없다. 네이티브 애플리케이션은 OLE DB를 통해 SQL CE를 사용할 수 있다. 최신이자 마지막 릴리스는 SQL 서버 컴팩트 4.0이다.access-date = 2020-03-11 2013년 2월 SQL 서버 컴팩트 에디션은 더 이상 사용되지 않게 되었으며, 새로운 버전이나 업데이트는 계획되지 않았지만, 마이크로소프트는 2021년 7월까지 제품을 계속 지원했다.
# 개요
SQL 서버 컴팩트는 다른 마이크로소프트 SQL 서버 에디션과 공통 API를 공유한다.access-date=2005-07-03 또한 ADO.NET API를 사용하여 데이터에 액세스하기 위한 ADO.NET 공급자와 내장된 동기화 기능, 그리고 LINQ 및 엔티티 프레임워크 지원도 포함한다. 향후 릴리스에서는 동기화 기능을 Microsoft Synchronization Services와 통합할 예정이다.access-date=2007-07-03 다른 마이크로소프트 SQL 서버 에디션과 달리 SQL CE는 호스팅하는 애플리케이션과 함께 인-프로세스로 실행된다. 디스크 풋프린트는 2 MB 미만이며, 메모리 풋프린트는 약 5MB이다. SQL CE는 모든 애플리케이션이 동일한 메모리 풀을 공유하는 아키텍처에 최적화되어 있다.access-date=2007-07-03 윈도우 8용 윈도우 스토어 앱은 SQL 서버 컴팩트 에디션이나 다른 SQL 서버 에디션을 사용할 수 없다.access-date=11 March 2013 {|class="wikitable" |+버전 !공식 명칭 !일반 명칭 !출시일 !지원 종료일 |- |SQL Server CE 1.0 |SQL CE 1.0 |2000-10-26access-date=2022-04-162000-06-30 Beta=https://news.microsoft.com/2000/04/19/microsoft-details-sql-server-2000-windows-ce-edition-features-and-announces-beta-release-date/ | |- |SQL Server CE 1.1 |SQL CE 1.1 |2001-03-21access-date=2022-04-162001-04-18 Evaluation=https://news.microsoft.com/2001/04/18/developers-can-go-mobile-with-microsoft-sql-server-2000-windows-ce-evaluation-edition/ | |- |SQL Server CE 2.0 |SQL CE 2.0 |2002-09-16access-date=2022-04-162002-04-10 Beta=https://news.microsoft.com/2002/04/10/teched-2002-microsoft-extends-xml-web-services-support-into-every-facet-of-the-net-enterprise-server-family/ | |-codename=Laguna |SQL Server 2005 Mobile Edition |SQL CE 3.0 |2006-01-142006-11-15 RC=https://news.microsoft.com/2006/11/15/microsoft-advances-data-platform-for-customer-gain/ | |- |SQL Server 2005 Compact Edition |SQL CE 3.1 |2007-02-19 |2016-04-12access-date=2021-02-26 |- |SQL Server Compact 3.5 |SQL CE 3.5 |2008-02-192008-08-06 RTM?=https://news.microsoft.com/2008/08/06/microsoft-releases-sql-server-2008/ |2018-04-10access-date=2021-02-26 |- |SQL Server Compact 4.0 |SQL CE 4.0 |2011-04-13 |2021-07-13access-date=2021-02-26 |}
# 지원
SQL CE 데이터베이스는 ACID 준수를 지원할 수 있지만, 기본적으로 내구성 요구 사항을 충족하지 않는다. 이는 AutoFlush가 메모리의 변경 사항(포함된 주변 트랜잭션 및 Commit() 호출을 CommitMode.Immediate 값으로 재정의하지 않는 명시적 SQL CE 트랜잭션 포함)을 버퍼링하기 때문이다. 따라서 커밋된 트랜잭션 변경 사항이 손실될 수 있다. 내구성 요구 사항을 충족하려면 트랜잭션의 커밋 호출에서 즉시 플래그를 지정해야 한다.url=http://msdn.microsoft.com/en-us/library/ms172411(v=sql.90).aspx 마이크로소프트 SQL 서버와 마찬가지로 SQL CE는 트랜잭션, 참조 무결성 제약 조건, 잠금, 그리고 데이터베이스 저장소에 대한 다중 연결을 지원한다. 그러나 병렬 트랜잭션(다른 테이블에서)은 지원되지만, 중첩 트랜잭션은 지원되지 않는다.access-date = 2007-07-03 현재 릴리스에서는 저장 프로시저 또는 기본 XML 데이터 형식을 지원하지 않는다. 쿼리에는 T-SQL의 하위 집합을 사용하며, XML 지원 부족으로 인해 XQuery도 지원되지 않는다. 쿼리는 최적화 쿼리 프로세서에 의해 처리된다.access-date = 2007-07-03 SQL CE 데이터베이스는 인덱싱도 지원하며, 원격 데이터 복제(원격 데이터베이스의 로컬 데이터 캐싱) 및 병합 복제(마스터 데이터베이스와의 양방향 동기화)를 지원한다.access-date = 2007-07-03 SQL CE 데이터베이스는 마이크로소프트 비주얼 스튜디오와 일부 이전 버전의 SQL 서버 관리 스튜디오에서도 생성 및 관리할 수 있다.
# 파일 형식
extendedto = SQL CE 데이터베이스는 단일 **.sdf** 파일에 존재하며,access-date = 2007-07-03 최대 4 GB 크기일 수 있다. .sdf 파일은 데이터 보안을 위해 128비트 암호화로 암호화할 수 있다. SQL CE 런타임은 .sdf 파일에 대한 동시 다중 사용자 액세스를 중재한다. .sdf 파일은 배포를 위해 대상 시스템으로 간단히 복사하거나 클릭원스를 통해 배포할 수 있다. SQL CE 런타임은 DataDirectories를 지원한다. SQL CE 데이터베이스를 사용하는 애플리케이션은 ADO.NET 연결 문자열에 .sdf 파일의 전체 경로를 지정할 필요가 없으며, 대신 |DataDirectory|\.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 서버 컴팩트 에디션이 단종되었다고 발표했다.access-date=2016-06-25 새로운 버전이나 업데이트는 계획되지 않았지만, 마이크로소프트는 표준 수명 주기 지원 정책을 통해 SQL 컴팩트를 계속 지원할 것이다. SQL 서버 컴팩트 4.0의 확장 지원은 2021년 7월 13일에 종료되었다.access-date=2020-09-17