Proteger con contraseña una base de datos

El Database Engine (Motor de base de datos) de Microsoft SQL Server 2005 Compact Edition (SQL Server Compact Edition) le permite exigir que se indique una contraseña al intentar obtener acceso a una base de datos local. En SQL Server Compact Edition 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 de las bases de datos de SQL Server Compact Edition:

  • 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 '<myPassword>'
    
  • Utilizando 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=<myPassword>"
    

    Para obtener más información, vea la clase System.Data.SqlServerCe.SqlCeEngine del Kit de desarrollo de software (SDK) de Microsoft .NET Compact Framework en Microsoft Visual Studio 2005.

  • Utilizando OLE DB
    Para crear una base de datos cifrada utilizando el proveedor OLE DB para SQL Server Compact Edition, debe pasar la propiedad específica del proveedor DBPROP_SSCE_ENCRYPTDATABASE como VARIANT_TRUE y especificar una contraseña utilizando la propiedad DBPROP_SSCE_DBPASSWORD específica del proveedor.

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 Edition
    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=<myPassword>"
    

    Para obtener más información, vea la clase System.Data.SqlServerCe.SqlCeConnection en el SDK de .NET Compact Framework en Visual Studio 2005.

  • Utilizando OLE DB
    SQL Server Compact Edition 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 Edition 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.

Vea también

Ayuda e información

Obtener ayuda sobre SQL Server Compact Edition