데이터베이스 암호 보호

Microsoft SQL Server 2005 Compact Edition(SQL Server Compact Edition) 데이터베이스 엔진 을 사용하면 로컬 데이터베이스에 액세스할 때 암호를 입력하도록 설정할 수 있습니다. SQL Server Compact Edition 에서는 보안이 설정되는 데이터베이스에 대해 하나의 암호가 생성되며 데이터베이스의 사용자 각각에 대해 암호가 생성되지는 않습니다. SQL Server Compact Edition 데이터베이스의 암호는 다음과 같습니다.

  • 최대 40자까지 가능합니다.
  • 문자, 기호 또는 숫자를 입력하거나 이들을 조합하여 입력할 수 있습니다.
  • 복구할 수 없습니다.

[!참고] 암호만으로는 데이터베이스 파일의 데이터를 일반 텍스트로 읽는 것을 방지할 수 없습니다. 암호화와 암호를 둘 다 사용하면 데이터를 암호화된 형식으로 저장하므로 데이터베이스에 프로그래밍 방식으로 액세스하는 것을 제한할 수 있습니다.

암호로 보호된 데이터베이스 생성

데이터베이스를 만들 때 암호 속성을 지정하여 암호로 보호된 데이터베이스를 만듭니다. 다음과 같은 방법으로 암호로 보호된 데이터베이스를 만들 수 있습니다.

  • SQL 구문 사용
    SQL 구문을 통해 암호로 보호된 데이터베이스를 만들려면 CREATE DATABASE 문에서 데이터베이스 암호를 지정합니다. 다음 예와 같이 암호는 DATABASEPASSWORD 키워드를 따라야 하며 작은 따옴표로 묶어야 합니다.

    CREATE DATABASE "secure.sdf" DATABASEPASSWORD '<myPassword>'
    
  • ADO.NET 사용
    SqlCeEngine.CreateDatabase 메서드를 사용하여 암호로 보호된 데이터베이스를 만들려면 다음 예와 같이 연결 문자열에 암호 속성을 지정해야 합니다.

    "data source=\ssce.sdf; password=<myPassword>"
    

    자세한 내용은 Microsoft Visual Studio 2005의 Microsoft .NET Compact Framework SDK(소프트웨어 개발 키트)에서 System.Data.SqlServerCe.SqlCeEngine 클래스를 참조하십시오.

  • OLE DB 사용
    SQL Server Compact Edition 용 OLE DB 공급자를 사용하여 암호화된 데이터베이스를 만들려면 공급자별 속성 DBPROP_SSCE_ENCRYPTDATABASE를 VARIANT_TRUE로 전달하고 공급자별 속성 DBPROP_SSCE_DBPASSWORD를 사용하여 암호를 지정해야 합니다.

암호로 보호된 데이터베이스 액세스

암호로 보호된 데이터베이스를 열려면 암호를 입력해야 합니다. 다음과 같은 방법으로 암호로 보호된 데이터베이스에 액세스할 수 있습니다.

  • SQL Server Compact Edition 용 데이터 공급자 사용
    SqlCeConnection.Open 메서드를 사용하여 암호로 보호된 데이터베이스에 액세스하려면 연결 문자열에 암호 속성을 지정해야 합니다. 예를 들면 다음과 같습니다.

    "data source=\ssce.sdf; password=<myPassword>"
    

    자세한 내용은 Visual Studio 2005의 .NET Compact Framework SDK에서 System.Data.SqlServerCe.SqlCeConnection 클래스를 참조하십시오.

  • OLE DB 사용
    SQL Server Compact Edition 에서는 파일 수준의 액세스 제어 메커니즘을 지원합니다. 이 메커니즘을 사용하면 암호로 보호된 SQL Server Compact Edition 데이터베이스에 액세스할 때 암호를 입력해야 합니다. 데이터베이스를 열 때마다 이 암호를 전달해야 합니다. DBPROPSET_SSCE_DBINIT 공급자별 속성 집합의 DBPROP_SSCE_DBPASSWORD 속성을 사용하여 암호를 지정할 수 있습니다. 데이터베이스를 만들 때 이 속성을 사용하면 데이터베이스에 데이터베이스 암호를 지정할 수 있습니다. 암호화된 데이터베이스는 항상 암호로 보호됩니다.

참고 항목

도움말 및 정보

SQL Server Compact Edition 지원 정보 보기