Поделиться через


Защита базы данных паролем

Компонент SQL Server Compact Database Engine позволяет обеспечить принудительное введение пароля при доступе к локальной базе данных. Для защищаемой базы данных SQL Server Compact создается один пароль. Пароль не создается для каждого пользователя базы данных. Для баз данных SQL Server Compact необходимо использовать надежные пароли: Пароли должны соответствовать следующим требованиям:

  • могут включать до 40 символов;

  • состоят из букв, символов, цифр или их сочетаний;

  • не подлежат восстановлению.

Примечание

Наличие пароля не запрещает чтения открытого текста в файле базы данных. Чтобы хранить данные в зашифрованном формате, ограничив тем самым программный доступ к базе данных, используйте сочетание защиты паролем и шифрования.

Создание защищенных паролем баз данных

Чтобы создать защищенную паролем базу данных, укажите свойство пароля при создании базы данных. Защищенные паролем базы данных создаются следующими способами.

  • Использование синтаксиса SQL

    Чтобы создать защищенную паролем базу данных с помощью синтаксиса SQL, укажите ее пароль в инструкции CREATE DATABASE. Пароль следует помещать за ключевым словом DATABASEPASSWORD и заключать в одинарные кавычки, как показано в следующем примере:

    CREATE DATABASE "secure.sdf" 
    DATABASEPASSWORD '<enterStrongPasswordHere>'
    
  • Использование ADO.NET

    Чтобы создать защищенную паролем базу данных с помощью метода SqlCeEngine.CreateDatabase, в строке подключения необходимо указать свойство пароля, как показано в следующем примере:

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

    Дополнительные сведения см. в описании класса System.Data.SqlServerCe.SqlCeEngine в пакете средств разработки программного обеспечения .NET Compact Framework SDK в среде Visual Studio.

  • Использование OLE DB

    Для создания зашифрованной базы данных с помощью поставщика OLE DB для SQL Server Compact необходимо задать режим шифрования с помощью характерного для поставщика свойства DBPROP_SSCE_ENCRYPTIONMODE и пароль с помощью характерного для поставщика свойства DBPROP_SSCE_DBPASSWORD.

Доступ к защищенным паролем базам данных

Чтобы открыть защищенную паролем базу данных, необходимо указать пароль. Для доступа к защищенным паролем базам данных используются следующие методы.

  • Использование поставщика данных для SQL Server Compact

    Чтобы получить доступ к защищенной паролем базе данных с помощью метода SqlCeConnection.Open, в строке подключения необходимо указать свойство пароля. Например:

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

    Дополнительные сведения см. в описании класса System.Data.SqlServerCe.SqlCeConnection в пакете .NET Compact Framework SDK в среде Visual Studio.

  • Использование OLE DB

    SQL Server Compact поддерживает механизм управления доступом на уровне файлов, который требует ввода пароля для доступа к защищенной паролем базе данных SQL Server Compact. Данный пароль необходимо вводить при каждом открытии базы данных. Пароль указывается с помощью свойства DBPROP_SSCE_DBPASSWORD из набора свойств поставщика DBPROPSET_SSCE_DBINIT. Это свойство служит для указания пароля создаваемой базы данных. Зашифрованные базы данных всегда защищаются паролем.