Protection par mot de passe d'une base de données

SQL Server Compact Moteur de base de données vous permet d'exiger qu'un mot de passe soit fourni lorsque vous accédez à une base de données locale. Dans SQL Server Compact, un mot de passe est créé pour la base de données qui est protégée. Un mot de passe n'est pas créé pour chaque utilisateur d'une base de données. Les mots de passe pour les bases de données SQL Server Compact doivent être des mots de passe forts. (page en anglais). Le mot de passe doit avoir les caractéristiques suivantes :

  • Ils peuvent contenir jusqu'à 40 caractères.

  • Ils peuvent contenir des lettres, des symboles, des chiffres ou une combinaison des trois types de caractères.

  • Ils ne peuvent pas être récupérés.

Notes

Le mot de passe n'empêche pas la lecture de toute donnée dans le fichier de base de données sous forme de texte clair. En utilisant le chiffrement et un mot de passe, vous pouvez stocker les données dans un format chiffré et restreindre par programme l'accès à la base de données.

Création de bases de données protégées par mot de passe

Les bases de données protégées par mot de passe sont créées en fournissant une propriété de mot de passe lors de la création de la base de données. Elles sont créées à l'aide des méthodes suivantes :

  • Syntaxe SQL

    Pour créer une base de données protégée par mot de passe via la syntaxe SQL, vous devez spécifier le mot de passe dans l'instruction CREATE DATABASE. Le mot de passe doit se trouver après le mot clé DATABASEPASSWORD et il doit être placé entre des guillemets simples, comme illustré dans l'exemple suivant :

    CREATE DATABASE "secure.sdf" 
    DATABASEPASSWORD '<enterStrongPasswordHere>'
    
  • En utilisant ADO.NET

    Pour créer une base de données protégée par mot de passe à l'aide de la méthode SqlCeEngine.CreateDatabase, vous devez spécifier la propriété de mot de passe dans la chaîne de connexion, comme illustré dans l'exemple suivant :

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

    Pour plus d'informations, reportez-vous à la classe System.Data.SqlServerCe.SqlCeEngine dans le Kit de développement (SDK) du .NET Compact Framework dans Visual Studio.

  • Utilisation d'OLE DB

    Pour créer une base de données chiffrée en utilisant le fournisseur OLE DB de SQL Server Compact, vous devez spécifier le mode de chiffrement à l'aide de la propriété spécifique au fournisseur DBPROP_SSCE_ENCRYPTIONMODE et définir un mot de passe à l'aide de la propriété spécifique au fournisseur DBPROP_SSCE_DBPASSWORD.

Accès aux bases de données protégées par mot de passe

Pour ouvrir une base de données protégée par mot de passe, le mot de passe doit être fourni. Les bases de données protégées par mot de passe sont accessible à l'aide des méthodes suivantes :

  • Utilisation du fournisseur de données pour SQL Server Compact

    Pour accéder à une base de données protégée par mot de passe en utilisant la méthode SqlCeConnection.Open, vous devez spécifier la propriété de mot de passe dans la chaîne de connexion. Par exemple :

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

    Pour plus d'informations, consultez la classe System.Data.SqlServerCe.SqlCeConnection dans le Kit de développement du .NET Compact Framework dans Visual Studio.

  • Utilisation d'OLE DB

    SQL Server Compact prend en charge un mécanisme de contrôle d'accès au niveau fichier qui requiert la fourniture d'un mot de passe pour accéder à une base de données SQL Server Compact protégée par mot de passe. Ce mot de passe doit être passé à chaque ouverture de la base de données. Utilisez la propriété DBPROP_SSCE_DBPASSWORD dans la propriété DBPROPSET_SSCE_DBINIT spécifique au fournisseur et définie pour spécifier le mot de passe. Lorsque vous créez une base de données, cette propriété peut être utilisée pour spécifier un mot de passe sur la base de données. Les bases de données chiffrées sont toujours protégées par mot de passe.