Proteger con contraseña una base de datos
El Motor de base de datos de SQL Server Compact le permite exigir que se proporcione una contraseña al tener acceso a una base de datos local. En SQL Server Compact 3.5 se crea una contraseña para la base de datos que se está protegiendo. No se crea una contraseña para cada uno de los usuarios de la base de datos. Las contraseñas para las bases de datos de SQL Server Compact 3.5 deben ser Contraseñas seguras.
- Pueden tener una longitud de hasta 40 caracteres.
- Pueden contener letras, símbolos, números o una combinación de los anteriores.
- No se pueden recuperar.
Nota
La contraseña no impide que puedan leerse datos del archivo de la base de datos como texto sin cifrar. Si utiliza cifrado y contraseña, puede almacenar los datos en formato cifrado y restringir el acceso mediante programación a la base de datos.
Crear bases de datos protegidas con contraseña
Las bases de datos protegidas con contraseña se crean indicando una propiedad PASSWORD cuando se crea la base de datos. Las bases de datos protegidas con contraseña se pueden crear siguiendo algunos de los métodos indicados a continuación:
Utilizando la sintaxis SQL
Para crear una base de datos protegida con contraseña utilizando sintaxis SQL, especifique la contraseña de la base de datos en la instrucción CREATE DATABASE. La contraseña debe seguir a la palabra clave DATABASEPASSWORD e ir encerrada entre comillas simples, como se muestra en el siguiente ejemplo:CREATE DATABASE "secure.sdf" DATABASEPASSWORD '<enterStrongPasswordHere>'
Utilizar ADO.NET
Para crear una base de datos protegida con contraseña utilizando el método SqlCeEngine.CreateDatabase, debe especificar la propiedad PASSWORD en la cadena de conexión, como se muestra en el siguiente ejemplo:"data source=\ssce.sdf; password=<enterStrongPasswordHere>"
Para obtener más información, vea la clase System.Data.SqlServerCe.SqlCeEngine del Kit de desarrollo de software (SDK) de .NET Compact Framework en Visual Studio.
Utilizando OLE DB
Para crear una base de datos cifrada mediante el proveedor OLE DB para SQL Server Compact 3.5, debe pasar la propiedad específica del proveedor DBPROP_SSCE_ENCRYPTDATABASE como VARIANT_TRUE y especificar una contraseña con la propiedad específica del proveedor DBPROP_SSCE_DBPASSWORD.
Tener acceso a bases de datos protegidas con contraseña
Debe indicar una contraseña para abrir una base de datos protegida con contraseña. Puede tener acceso a las bases de datos protegidas con contraseña siguiendo alguno de los métodos indicados a continuación:
Utilizando el proveedor de datos de SQL Server Compact 3.5
Para tener acceso a una base de datos protegida con contraseña utilizando el método SqlCeConnection.Open, debe especificar la propiedad PASSWORD en la cadena de conexión. Por ejemplo:"data source=\ssce.sdf; password=<enterStrongPasswordHere>"
Para obtener más información, vea la clase System.Data.SqlServerCe.SqlCeConnection del SDK de .NET Compact Framework en Visual Studio
Utilizando OLE DB
SQL Server Compact 3.5 admite un mecanismo de control de acceso de nivel de archivo en el que es necesario indicar una contraseña para obtener acceso a una base de datos de SQL Server Compact 3.5 protegida con contraseña. Esta contraseña se debe suministrar cada vez que se abra la base de datos. Use la propiedad DBPROP_SSCE_DBPASSWORD en el conjunto de propiedades específico del proveedor DBPROPSET_SSCE_DBINIT para especificar la contraseña. Al crear una base de datos puede utilizar esta propiedad para especificar una contraseña. Las bases de datos cifradas siempre están protegidas con contraseña.