Accesso multiutente
Microsoft SQL Server 2005 Compact Edition (SQL Server Compact Edition) consente di stabilire una o più connessioni contemporanee a un database di SQL Server Compact Edition.
Consentendo a più connessioni di accedere al database di SQL Server Compact Edition si rende disponibile agli sviluppatori un modello di sviluppo semplice. Il Database Engine (Motore di database) di SQL Server Compact Edition 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 Edition 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 Edition è 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 Edition può avvenire nei modi seguenti:
Connessione singola — un'unica applicazione che richiede una singola connessione a un database di SQL Server Compact Edition.
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 Edition, 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).
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 Edition).
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 Edition 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 Edition. 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 Edition. Per ulteriori informazioni, vedere Accesso multiutente e RDA e Accesso multiutente e sincronizzazione.