Compartilhar via


Protegendo um bancos de dados por senha

O Mecanismo de Banco de Dados do SQL Server Compact permite impor o fornecimento de uma senha para acesso a um banco de dados local. No SQL Server Compact 3.5, uma senha é criada para o banco de dados que está sendo protegido. Uma senha não é criada para cada usuário de um banco de dados. As senhas de bancos de dados do SQL Server Compact 3.5 devem ser senhas fortes.

  • Podem ter até 40 caracteres.
  • Podem conter letras, símbolos, dígitos ou uma combinação deles.
  • Não podem ser recuperadas.

Dica

A senha não impede a leitura de nenhum dado no arquivo de banco de dados como texto criptografado. Usando a criptografia e uma senha, você pode armazenar os dados em um formato criptografado e restringir o acesso programático ao banco de dados.

Criando bancos de dados protegidos por senha

Bancos de dados protegidos por senha são criados fornecendo uma propriedade de senha quando o banco de dados é criado. Bancos de dados protegidos por senha podem ser criados pelos seguintes métodos:

  • Usando a sintaxe SQL
    Para criar um banco de dados protegido por senha através da sintaxe SQL, especifique a senha do banco de dados na instrução CREATE DATABASE. A senha deve aparecer depois da palavra-chave DATABASEPASSWORD e ser colocada entre aspas simples, como no seguinte exemplo:

    CREATE DATABASE "secure.sdf" 
    DATABASEPASSWORD '<enterStrongPasswordHere>'
    
  • Usando o ADO.NET
    Para criar um banco de dados protegido por senha usando o método SqlCeEngine.CreateDatabase, você deve especificar a propriedade de senha na cadeia de conexão, como no seguinte exemplo:

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

    Para obter mais informações, consulte a classe System.Data.SqlServerCe.SqlCeEngine no .NET Compact Framework software development kit (SDK) no Visual Studio.

  • Usando o OLE DB
    Para criar um banco de dados criptografado usando o provedor OLE DB para SQL Server Compact 3.5, é necessário passar a propriedade específica do provedor DBPROP_SSCE_ENCRYPTDATABASE como VARIANT_TRUE e especificar uma senha usando a propriedade específica do provedorDBPROP_SSCE_DBPASSWORD.

Acessando bancos de dados protegidos por senha

Uma senha deve ser fornecida para abrir um banco de dados protegido por senha. Bancos de dados protegidos por senha podem ser acessados das seguintes maneiras:

  • Usando o provedor de dados para o SQL Server Compact 3.5
    Para acessar um banco de dados protegido por senha usando o método SqlCeConnection.Open, você deve especificar a propriedade de senha na cadeia de conexão. Por exemplo:

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

    Para obter mais informações, consulte a classe System.Data.SqlServerCe.SqlCeConnection no SDK do .NET Compact Framework no Visual Studio.

  • Usando o OLE DB
    O SQL Server Compact 3.5 dá suporte a um mecanismo de controle de acesso no nível de arquivo que exige a apresentação de uma senha para o acesso a um banco de dados SQL Server Compact 3.5 protegido por senha. Essa senha deve ser passada sempre que o banco de dados for aberto. Use a propriedade DBPROP_SSCE_DBPASSWORD do conjunto de propriedades específicas do provedor DBPROPSET_SSCE_DBINIT para especificar a senha. Quando você cria um banco de dados, essa propriedade pode ser usada para especificar uma senha no banco de dados. Os bancos de dados criptografados são sempre protegidos por senha.