Accesso multiutente
Microsoft SQL Server Compact 3.5 (SQL Server Compact 3.5) consente di stabilire una o più connessioni contemporanee a un database di SQL Server Compact 3.5.
Consentendo a più connessioni di accedere al database di SQL Server Compact 3.5 si rende disponibile agli sviluppatori un modello di sviluppo semplice. Il Motore di database di SQL Server Compact 3.5 gestisce infatti richieste provenienti da più applicazioni oppure più richieste di connessione provenienti da una sola applicazione, quindi non è necessario che gli sviluppatori pianifichino gli accessi al database.
Se SQL Server Compact 3.5 consentisse l'accesso al database attraverso una sola connessione, esisterebbe un limite alla concorrenza, in quanto occorrerebbe completare una transazione prima avviarne un'altra. Con SQL Server Compact 3.5 è invece possibile eseguire più applicazioni che accedono o modificano diversi set di dati contemporaneamente. Se l'accesso a una determinata risorsa del database non causa conflitto tra le applicazioni, consentire a più applicazioni di accedere al database migliora la concorrenza.
L'accesso al database di SQL Server Compact 3.5 può avvenire nei modi seguenti:
Connessione singola — un'unica applicazione che richiede una singola connessione a un database di SQL Server Compact 3.5.
Connessioni multiple — un'applicazione può stabilire più connessioni a un unico database per diverse ragioni, come accedere ai dati durante la sincronizzazione.
Nota
Quando un'applicazione utilizza più thread per accedere ai dati o modificarli tramite replica o RDA, è opportuno utilizzare le stesse credenziali dell'accesso a Internet.
Applicazioni multiple — più applicazioni in esecuzione su un dispositivo possono accedere a un unico database contemporaneamente. Lo sviluppatore è sollevato dall'onere di gestire connessioni esclusive. Gli utenti possono utilizzare strumenti di database, come Query Analyzer di SQL Server Compact 3.5, mentre un'altra applicazione è connessa al database.
Se una particolare applicazione esige una connessione singola e non si desidera che vi siano altre connessioni o altre applicazioni che accedono al database in contemporanea, sarà possibile aprire il database in modo esclusivo allo scopo di impedire l'accesso multiutente. Per ulteriori informazioni sulle connessioni esclusive, vedere Procedura: Impostazione della modalità file all'apertura di un database (a livello di programmazione) e Procedura: Impostazione della modalità file all'apertura di un database con OLE DB (a livello di programmazione). Alcuni scenari relativi a piattaforme a 64 bit non supportano l'accesso simultaneo a un file di database con versioni precedenti di SQL Server Compact. Per informazioni sui componenti a 64 bit, vedere Gestione di applicazioni di database a 64 bit.
I blocchi vengono utilizzati come meccanismo di controllo degli accessi simultanei. Grazie ai blocchi, è possibile eseguire contemporaneamente più transazioni completamente isolate l'una dall'altra. Per ulteriori informazioni, vedere Blocco (SQL Server Compact).
Il numero di connessioni simultanee a un database è limitato dal numero e dalla capacità delle risorse disponibili, ad esempio dalle dimensioni fisse della tabella delle sessioni, che non consente più di 256 connessioni in contemporanea.
Importante
Sebbene SQL Server Compact 3.5 supporti 256 connessioni, è consigliabile non aprire più di 100 connessioni.
Ruoli e privilegi non sono supportati. Applicazioni e utenti possono eseguire la connessione al database utilizzando le stesse procedure di autenticazione e autorizzazione delle precedenti versioni di SQL Server Compact 3.5. Per ulteriori informazioni sulle procedure per la protezione, vedere Configurazione e protezione dell'ambiente server.
L'accesso multiutente può avere un impatto sui dati sottoposti a sincronizzazione tra SQL Server e SQL Server Compact 3.5. Per ulteriori informazioni, vedere Accesso multiutente e RDA e Accesso multiutente e sincronizzazione.