Condividi tramite


Protezione di un database mediante password

Il Database Engine di SQL Server Compact consente di imporre la specifica di una password quando si accede a un database locale. In SQL Server Compact 3.5 viene creata una password per il database da proteggere e non una password per ogni utente del database. Le password per i database di SQL Server Compact 3.5 devono essere password complesse.

  • Possono contenere un massimo di 40 caratteri.

  • Possono contenere lettere, simboli, cifre o una combinazione.

  • Non possono essere recuperate.

Nota

La password non impedisce la lettura di dati nel file di database come testo normale. Utilizzando la crittografia insieme a una password, è possibile archiviare i dati in un formato crittografato e limitare l'accesso a livello di programmazione al database.

Creazione di database protetti da password

I database protetti da password vengono creati specificando una proprietà Password al momento della creazione. I database protetti da password possono essere creati nei modi seguenti:

  • Tramite la sintassi SQL

    Per creare un database protetto da password mediante la sintassi SQL, specificare la password del database nell'istruzione CREATE DATABASE. La password deve seguire la parola chiave DATABASEPASSWORD ed essere racchiusa tra virgolette semplici, come nell'esempio seguente:

    CREATE DATABASE "secure.sdf" 
    DATABASEPASSWORD '<enterStrongPasswordHere>'
    
  • Utilizzo di ADO.NET

    Per creare un database protetto da password utilizzando il metodo SqlCeEngine.CreateDatabase, è necessario specificare la proprietà Password nella stringa di connessione, come nell'esempio seguente:

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

    Per ulteriori informazioni, vedere la classe System.Data.SqlServerCe.SqlCeEngine in .NET Compact Framework SDK (Software Development Kit) in Visual Studio.

  • Utilizzo di OLE DB

    Per creare un database crittografato utilizzando il provider OLE DB per SQL Server Compact 3.5, è necessario passare la proprietà specifica del provider DBPROP_SSCE_ENCRYPTDATABASE come VARIANT_TRUE e specificare una password utilizzando la proprietà specifica del provider DBPROP_SSCE_DBPASSWORD.

Accesso a database protetti da password

Per aprire un database protetto da password, è necessario specificare una password. È possibile accedere ai database protetti da password nei modi seguenti:

  • Utilizzo del provider di dati per SQL Server Compact 3.5

    Per accedere a un database protetto da password utilizzando il metodo SqlCeConnection.Open, è necessario specificare la proprietà Password nella stringa di connessione. Ad esempio:

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

    Per ulteriori informazioni, vedere la classe System.Data.SqlServerCe.SqlCeConnection in .NET Compact Framework SDK in Visual Studio.

  • Utilizzo di OLE DB

    SQL Server Compact 3.5 supporta un meccanismo di controllo dell'accesso a livello di file che richiede di specificare una password per accedere a un database di SQL Server Compact 3.5 protetto da password. Questa password dovrà essere specificata ogni volta che si apre il database. Utilizzare la proprietà DBPROP_SSCE_DBPASSWORD nel set di proprietà specifiche del provider DBPROPSET_SSCE_DBINIT per specificare la password. Quando si crea un database, è possibile utilizzare questa proprietà per specificare una password per il database. I database crittografati sono sempre protetti da password.