SQL Server Compact 4.0의 새로운 기능

이 항목에서는 SQL Server Compact 3.5, SQL Server Compact 3.5 서비스 팩 1(SP1) 및 SQL Server Compact 3.5 서비스 팩 2(SP2)를 포함하여 SQL Server Compact 4.0과 이전 릴리스에서 제공하는 새로운 기능에 대해 설명합니다.

SQL Server Compact 4.0의 새로운 기능

MicrosoftSQL Server Compact 4.0에는 새로운 기능 그룹이 포함되었으며, ASP.NET 웹 응용 프로그램 및 웹 사이트용 데이터베이스로 SQL Server Compact 4.0을 사용할 수 있는 새로운 시나리오가 지원됩니다. SQL Server Compact 4.0의 주요 기능은 다음과 같습니다.

  1. WebMatrix 및 Visual Studio 2010 서비스 팩 1에서 SQL Server Compact 4.0 응용 프로그램 개발

    • Visual Studio 2010 SP1의 Premium, Ultimate 및 Professional 버전을 사용하여 SQL Server Compact 4.0용 ASP.NET 웹 응용 프로그램과 Windows 데스크톱 응용 프로그램을 개발할 수 있습니다. 서버 탐색기, 쿼리 디자이너 및 Transact-SQL 편집기와 같은 디자이너는 데이터베이스를 찾아보는 데 사용할 수 있습니다. ASP.NET 웹 응용 프로그램 프로젝트 시스템에서 디자이너를 사용하여 웹 페이지에 있는 컨트롤을 SQL Server Compact의 데이터에 바인딩할 수 있습니다.

      또한 Microsoft Visual Web Developer 2010 SP1 Express는 ASP.NET 웹 응용 프로그램 개발에서도 SQL Server Compact 4.0을 지원합니다. Visual Studio 2010 SP1에서도 SQL Server Compact 4.0과 함께 SQL Server Compact 3.5를 위한 응용 프로그램 개발을 지원합니다.

    • WebMatrix를 사용하여 SQL Server Compact 4.0과 함께 ASP.NET 웹 응용 프로그램을 개발하고, SQL Server Compact에 대한 Transact-SQL 쿼리 실행을 포함하여 SQL Server Compact 데이터베이스 관리를 수행할 수 있습니다.

    • WebMatrix를 사용하여 SQL Server Compact 4.0의 데이터 및 스키마를 상위 버전의 SQL Server로 스크립팅하고 웹 사이트를 다른 SQL Server 버전으로 간편하게 마이그레이션할 수 있습니다.

  2. 향상된 API 기능

    • ADO.NET Entity Framework 4.0(.NET Framework 4)과 통합

      SQL Server Compact 4.0은 ADO.NET Entity Framework의 코드 우선 프로그래밍 모델을 지원합니다. 또한 ADO.NET Entity Framework 4(.NET Framework 4과 함께 출시된 ADO.NET Entity Framework의 버전)과 함께 사용할 경우 ID 또는 rowguid와 같은 서버 생성 키가 있는 열도 SQL Server Compact 4.0에서 지원됩니다.

      참고

      SQL Server Compact 4.0 릴리스는 .NET Framework 4와 함께 출시된 ADO.NET Entity Framework 4에서만 작동합니다. .NET Framework 3.5 SP1과 함께 출시된 ADO.NET Entity Framework 3.5 SP1에서 SQL Server Compact 4.0을 사용하면 오류가 발생합니다.

    • DbConnection.GetSchema를 위한 새로운 API

      SQL Server Compact 4.0에는 SQL Server Compact 데이터베이스 파일에서 스키마를 가져오기 위해 사용할 수 있는 새로운 API인 System.Data.SqlServerCe.SqlCeConnection.GetSchema()가 포함되었습니다. 또한 이 API는 System.Data.Common.DbConnection.GetSchema에 대한 지원을 제공합니다.

    • SqlCeConnectionStringBuilder를 위한 새로운 API

      새로운 API인 System.Data.SqlServerCe.SqlCeConnectionStringBuilder()를 통해 개발자는 SQL Server Compact 4.0에 대한 올바른 연결 문자열을 프로그래밍 방식으로 만들고, 기존 연결 문자열을 구문 분석하고 다시 작성할 수 있습니다. 또한 이 API는 System.Data.Common.DbConnectionStringBuilder에 대한 지원을 제공합니다.

  3. 새로운 Transact-SQL 구문

    SQL Server Compact 4.0은 Order BY 절과 함께 OFFSET & FETCH를 사용할 수 있도록 새로운 Transact-SQL 구문으로 확장된 경우 Transact-SQL 쿼리를 지원합니다. 사용자는 OFFSET-FETCH를 사용하여 페이징 쿼리를 작성하고 데이터베이스 파일에 대해 실행할 수 있습니다. 자세한 내용은 ORDER BY 절(SQL Server Compact)을 참조하십시오.

  4. ASP.NET 웹 응용 프로그램 및 웹 사이트를 위한 향상된 기능

    • ASP.NET 지원

      SQL Server Compact 4.0은 특별한 구성 없이 ASP.NET을 지원합니다. SQL Server Compact 4.0에는 SQLServerCompactEditionUnderWebHosting 플래그가 더 이상 필요하지 않으며 제거되었습니다.

    • 가상 메모리 감소

      SQL Server Compact 4.0에서는 SQL Server Compact의 각 연결에 사용되는 가상 메모리가 감소되었습니다. SQL Server Compact 3.5 SP2에서는 40~50개의 연결을 동시에 열려고 시도할 경우 '가상 메모리 부족' 예외가 발생합니다. 하지만 SQL Server Compact 4.0에서는 가상 메모리 부족 없이 최대 256개까지 데이터베이스 파일에 대해 필요한 만큼 많은 수의 연결을 쉽게 열 수 있습니다.

    • 보통 신뢰

      ASP.NET 응용 프로그램의 중요 요구 사항은 SQL Server Compact 4.0에서 지원되는 보통(부분) 신뢰 환경에서 실행해야 한다는 것입니다.

  5. 안정성 및 보안 향상과 간편한 배포

    • 향상된 안정성

      SQL Server Compact 4.0은 ASP.NET 웹 응용 프로그램에 대한 사용 테스트 및 인증을 거쳤으며 시작 웹 사이트의 로드를 처리할 수 있습니다. SQL Server Compact 4.0은 동시 접속 수와 데이터베이스에 대한 요청이 많은 시나리오에서도 뛰어난 성능을 제공합니다.

    • 암호화 알고리즘 업데이트

      SQL Server Compact 4.0은 암호화된 SQL Server Compact 데이터베이스 파일에 대해 향상된 보안 수준을 제공하는 SHA 2 암호화 알고리즘을 지원합니다.

      이전 버전의 SQL Server Compact에서 지원되던 알고리즘은 SQL Server Compact 4.0에서 SQL Server Compact 4.0으로 업그레이드하기 위해 이전 데이터베이스 파일을 열기 위해서만 지원됩니다. 따라서 SQL Server Compact 3.5 데이터베이스 파일을 SQL Server Compact 4.0에서 열 때는 System.Data.SqlServerCe.SqlCeEngine.Upgrade() API를 사용하여 SQL Server Compact 3.5 데이터베이스 파일을 SQL Server Compact 4.0으로 업그레이드해야 합니다.

    • 향상된 설치 기능

      SQL Server Compact의 x86 및 x64 구성 요소가 64비트 컴퓨터에 올바르게 설치될 수 있도록 SQL Server Compact 4.0 설정 및 설치 기능이 향상되었습니다. 그 결과 SQL Server Compact 4.0에서는 WOW64 모드와 64비트 컴퓨터에 대한 64비트 네이티브 응용 프로그램이 모두 문제 없이 지원됩니다.

      • SQL Server Compact 4.0에서 x86 EXE는 32비트 컴퓨터에만 설치되고 x64 MSI는 64비트 컴퓨터에만 설치됩니다. x64 MSI는 64비트 컴퓨터에 32비트 및 64비트 SQL Server Compact 구성 요소를 모두 설치합니다. 이러한 설치 동작의 변경으로 인해 64비트 컴퓨터에 x86 MSI를 다시 설치할 필요가 없습니다.

      • SQL Server Compact 4.0 사설 배포의 경우 사설 배포에 필요한 모든 이진 파일(32비트와 64비트 모두)은 %Program Files%\Microsoft SQL Server Compact Edition\v4.0\Private%Program Files (x86)%\Microsoft SQL Server Compact Edition\v4.0\Private 폴더에 있습니다.

SQL Server Compact 3.5 서비스 팩 2의 새로운 기능

SQL Server Compact 3.5 서비스 팩 2(SP2)는 SQL Server 2008 R2 및 Visual Studio 2010에 포함되어 있습니다. SQL Server Compact 3.5 SP2 릴리스부터 SQL Server Compact는 다음과 같은 새로운 기능을 제공합니다.

  • Visual Studio 2010의 Transact-SQL 편집기 지원. Transact-SQL 편집기를 사용하여 SQL Server Compact 데이터베이스에 대해 자유 텍스트 Transact-SQL 쿼리를 실행할 수 있습니다. Transact-SQL 편집기는 SQL Server Compact 데이터베이스에 대한 자세한 예상 및 실제 쿼리 실행 계획을 확인하고 저장하는 기능도 제공합니다. Transact-SQL 편집기에서 제공하는 기능을 이전에는 SQL Server Management Studio를 통해서만 사용할 수 있었습니다. 자세한 내용은 Visual Studio Transact-SQL 편집기를 참조하십시오.

  • SQL Server Compact 데이터베이스에 대한 변경 추적 지원. 데이터베이스 테이블에 대한 행 수준 변경 내용 추적을 지원하도록 System.Data.SqlServerCe 네임스페이스에 새 클래스와 멤버가 추가되었습니다. 테이블에 추적 기능이 설정되어 있으면 추적 인프라를 통해 테이블에 대해 수행되는 삽입, 삭제 및 업데이트에 대한 정보가 유지 관리됩니다. 이 정보는 추적 인프라를 통해 유지 관리되는 시스템 테이블과 추적 테이블에 추가된 열에 저장됩니다. 이 새로운 클래스를 사용하면 테이블에서 변경 내용 추적을 사용하거나 사용하지 않도록 설정하고 구성할 수 있으며 테이블에 대해 유지 관리되는 추적 데이터에 액세스할 수도 있습니다. 변경 내용 추적을 사용하여 다양한 시나리오에 기능을 제공할 수 있습니다. 예를 들어 OCS(Occasionally Connected Systems)에 대한 클라이언트에서 서버로 또는 클라이언트에서 클라이언트로 동기화의 사용자 지정 구현을 제공하거나, 변경 내용 추적을 사용하여 사용자 지정 수신기 응용 프로그램을 구현할 수 있습니다. 자세한 정보는 변경 내용 추적을 사용하는 응용 프로그램 빌드(SQL Server Compact)를 참조하십시오.

  • 새로운 어셈블리 버전 관리 지원 및 디렉터리 구조. 이 기능을 통해 사설 배포를 사용하는 SQL Server Compact 응용 프로그램에서는 핫픽스, 보안 패치 및 중요 업데이트를 받을 수 있습니다. 자세한 내용은 사설 배포와 중앙 배포 비교(SQL Server Compact)를 참조하십시오.

  • 64비트 ClickOnce 배포를 위해 추가된 지원. 자세한 내용은 데스크톱 응용 프로그램 배포를 참조하십시오.

  • SQL Server Compact는 Windows 7과 Windows Server 2008 R2를 지원합니다. 지원되는 모든 Windows 버전 목록은 하드웨어 및 소프트웨어 요구 사항을 참조하십시오.

SQL Server Compact 3.5 서비스 팩 1의 새로운 기능

SQL Server Compact 3.5 서비스 팩 1(SP1)이 SQL Server 2008 및 Visual Studio 2008에 포함되었습니다. SQL Server Compact 3.5 SP1 릴리스부터 SQL Server Compact는 다음과 같은 새로운 기능을 제공합니다.

  • SQL Server Compact은 ADO.NETEntity Framework를 지원합니다. Entity Framework를 통해 고객 및 고객 주소와 같은 도메인 특정 개체 및 속성 형식의 데이터를 이 데이터가 저장된 기본 데이터베이스 테이블 및 열에 관여하지 않고도 사용할 수 있습니다.

  • ADO.NETEntity Framework에 대한 지원을 통해 개발 환경에서 직접 LINQ 식 및 LINQ 표준 쿼리 연산자를 사용하여 Entity Framework 개체 컨텍스트에 대한 강력한 형식의 유연한 쿼리를 만들 수 있습니다.

  • SQL Server Compact은 데이터베이스 수준에서 대/소문자를 구분하는 데이터 정렬을 지원합니다. 자세한 내용은 데이터 정렬 작업(SQL Server Compact)을 참조하십시오.

  • SQL Server 2008에서 SQL Server Management Studio(SSMS)를 사용하여 스마트 장치나 데스크톱 컴퓨터에 저장된 SQL Server Compact 데이터베이스를 관리할 수 있습니다.

  • SQL Server Compact은 date, time, datetime2, datetimeoffset, geography 및 geometry와 같은 새 SQL Server 2008 데이터 형식의 복제를 지원합니다. 새 SQL Server 2008 데이터 형식이 nchar, nvarchar, image 등으로 매핑됩니다. SQL Server 2008 데이터 형식에 대한 자세한 내용은 SQL Server 2008 온라인 설명서의 데이터 형식을 참조하십시오.

  • SQL Server Compact은 기본적으로 64비트 환경에서 실행할 수 있습니다. 영향을 받은 MSI 파일은 SQL Server Compact 64비트 런타임(SSCERuntime-ENU.msi) 및 SQL Server Compact 64비트 Server Tools(SSCEServerTools-ENU.msi)입니다. 32비트 MSI에 대한 지원은 변경되지 않았습니다. 응용 프로그램에 대해 ClickOnce 배포를 사용하는 개발자는 32비트 다운로드 URL과 64비트 다운로드 URL을 모두 지정해야 합니다. 자세한 내용은 64비트 데이터베이스 응용 프로그램 관리를 참조하십시오.

  • SQL Server Compact은 Sync Services for ADO.NET을 사용하여 SQL Server 2000, SQL Server 2005 및 SQL Server 2008에서의 데이터 복제를 지원합니다. Sync Services for ADO.NET은 데스크톱 및 모바일 장치 모두에서 사용할 수 있습니다.

  • SQL Server Compact은 병합 복제 및 RDA(Remote Data Access)를 사용하여 SQL Server 2005 및 SQL Server 2008에서의 데이터 복제를 지원합니다.

  • SQL Server Compact은 병합 복제를 위한 SQL Server Compact과 SQL Server 간의 향상된 버전 호환성을 포함합니다.

  • SQL Server Compact 3.5 SP1을 사용하여 병합 복제 및 RDA를 구성하는 Server Tools는 Microsoft 다운로드 센터에서 다운로드할 수 있습니다. IIS 서버로 사용되는 컴퓨터에서 SQL Server Compact 3.5 SP1 Server Tools와 이전 버전의 Server Tools를 동시에 설치할 수 없습니다. SQL Server Compact 3.5 SP1 서버 도구는 SQL Server Compact 3.5 및 SQL Server 2005 또는 SQL Server 2008 사이에 데이터를 복제할 수 있습니다. SQL Server Compact 3.5 SP1 서버 도구는 또한 SQL Server 2005 Compact Edition 또는 SQL Server 2005 Mobile Edition 및 SQL Server 2005 또는 SQL Server 2008 사이의 데이터 복제도 지원합니다.

  • SQL Server Compact는 Windows Server 2008을 지원합니다. 지원되는 모든 Windows 버전 목록은 하드웨어 및 소프트웨어 요구 사항을 참조하십시오.

SQL Server Compact 3.5의 새로운 기능

SQL Server Compact 3.5는 Visual Studio 2008과 함께 제공되었습니다. SQL Server Compact 3.5 SQL 릴리스부터 SQL Server Compact는 다음과 같은 새로운 기능을 제공합니다.

  • SQL Server Compact은 timestamp(rowversion) 데이터 형식을 구현합니다. rowversion은 자동으로 만들어진 고유 이진 숫자(데이터베이스에서 고유함)를 표시하는 데이터 형식으로 일반적으로 버전이 표시되는 테이블 행에 대한 메커니즘으로 사용됩니다.

  • SQL Server Compact은 데스크톱 컴퓨터에서 로컬 트랜잭션 범위를 지원합니다.

  • Visual Studio 2008의 SQL Server Compact 테이블 디자이너는 테이블 간 기본 키 및 외래 키 관계를 만들기 위한 사용자 인터페이스를 제공하도록 향상되었습니다.

  • Transact-SQL 문에 대한 SQL Server Compact 지원이 다음과 같이 확대되었습니다.

    • FROM 절의 중첩 쿼리

    • CROSS APPLY 및 OUTER APPLY

    • CAST

    • TOP

    • SET IDENTITY INSERT

  • SQL Server Compact은 중국어 GB 18030 문자와 같이 모든 로캘에 대해 유니코드 문자를 지원합니다.

  • SQL Server Compact은 Visual C# 2008 Express Edition 및 Visual Basic 2008 Express Edition을 사용하여 데스크톱 응용 프로그램을 개발하는 작업을 지원합니다.

  • SQL Server Compact 버전 3.5는 데스크톱 컴퓨터에 이전 버전(3.1)과의 동시 설치를 지원합니다. 이전 버전과의 상호 작용에 대한 자세한 내용은 이전 버전에서 업그레이드(SQL Server Compact)를 참조하십시오.

  • SQL Server Compact에서는 이전 암호화 알고리즘을 사용하는 이전 운영 체제 및 최신 보안 암호화를 지원하기 위해 이전 버전과 호환되는 암호화 모드를 지원합니다. 이전 버전과 호환되는 암호화 모드의 전체 목록은 이전 버전에서 업그레이드(SQL Server Compact)를 참조하십시오.

  • SQL Server Compact은 LINQ to SQL을 지원합니다. LINQ to SQL은 LINQ 프로젝트의 구성 요소로서 쿼리 기능을 버리지 않고 관계형 데이터를 개체로 관리하기 위한 런타임 인프라를 제공합니다. 또한 language-integrated query를 SQL Server Compact에서 실행하기 위해 Transact-SQL로 변환한 다음 테이블 형식 결과를 응용 프로그램 개발자가 정의한 개체로 다시 변환합니다. LINQ to SQL에는 SQL Server Compact을 위한 디자이너 지원이 없습니다. SqlMetal.exe 유틸리티는 SQL Server Compact에서 사용해야 합니다. SqlMetal 명령줄 도구는 .NET Framework의 LINQ to SQL 구성 요소에 대한 코드와 매핑을 생성합니다. 기본적으로 SQLMetal 파일은 %ProgramFiles%\Microsoft SDKs\Windows\vn.nn\bin에 있습니다. 자세한 내용은 LINQ to SQL의 코드 생성을 참조하십시오. SqlMetal은 다음 작업을 수행할 때 사용할 수 있습니다.

    • 데이터베이스에서 원본 코드 및 매핑 특성/매핑 파일 생성

    • 데이터베이스에서 사용자 지정을 위해 중간 데이터베이스 마크업 언어(.dbml) 파일 생성

    • .dbml 파일에서 코드 및 매핑 특성/매핑 파일 생성

다른 새로운 기능

SQL Server Compact 4.0에서는 SSCEVSTools-ENU.msi, SSCEWebTools-ENU.msi, SSCERuntime_x86-ENU.exe 및 SSCERuntime_x64-ENU.exe 등의 구성 요소를 제공합니다.

  • Microsoft Visual Studio 2010 SP1 Tools for SQL Server Compact 4.0(SSCEVSTools-ENU.msi): 이 파일은 Visual Studio 2010 SP1에서 디자이너 지원에 필요한 SQL Server Compact 디자인 타임 구성 요소를 설치합니다. 디자인 타임 구성 요소는 SQL Server Compact용 응용 프로그램을 작성하는 데 사용하는 사용자 인터페이스, 대화 상자 및 디자인 타임 환경입니다. SQL Server Compact 디자인 타임 구성 요소는 %ProgramFiles%\Microsoft Visual Studio 10\Common7\IDE\ 디렉터리에 설치됩니다. 예제는 %ProgramFiles%\Microsoft SQL Server Compact Edition\v4.0\Samples에 설치됩니다. 이러한 구성 요소는 Visual Studio에 연결되며 개별적으로는 사용할 수 없습니다. SQL Server Compact 예제와 SQL Server Compact 헤더 파일(네이티브 개발용)도 이 .msi 파일로 설치됩니다.

  • SQL Server Compact 4.0 런타임(SSCERuntime_x86-ENU.exe & SSCERuntime_x64-ENU.exe): 이 파일은 데스크톱 컴퓨터용 SQL Server Compact 런타임 구성 요소를 중앙 폴더인 %ProgramFiles%\Microsoft SQL Server Compact Edition\v4.0에 설치합니다. SQL Server Compact 데스크톱 컴퓨터 런타임 구성 요소는 Visual Studio에서 응용 프로그램을 개발하고 데스크톱에서 SQL Server Compact 기반 응용 프로그램을 실행하는 데 필요합니다. SSCERuntime-ENU.msi는 웹에서 다운로드할 수도 있습니다.

  • SQL Server Compact 4.0 웹 도구(SSCEWebTools-ENU.msi): 이 파일은 전역 어셈블리 캐시에 데이터베이스 스크립팅 구성 요소를 설치합니다. 이를 통해 WebMatrix에 대한 상위 SQL Server SKU로의 데이터베이스 마이그레이션 기능을 제공합니다. 이 MSI는 WebMatrix에서만 사용할 수 있습니다.