Ciao Uranio, hai colto in pieno,
anche gli altri sistemi però finchè non terminano la lettura dei dati non permette l'eliminazione del dato in quanto viene rispettata una coda, in questo caso se un utente poco smart fa una query a campi incrociati potenzialmente la tabella può rimanere allocata per molto tempo.
Il driver ODBC usato in Access ha in più la casistica che permette la lettura di un'anteprima e la tiene loccata finchè manualmente non si chiude questa anteprima.
Ad ogni modo le due soluzioni per risolvere questi problemi di lock sono queste:
Sistema blando (ma applicabile nel mio caso):
- Fare il select chiudendo l'istruzione con un "with (nolock)"
questo comando permette la lettura del dato senza allocare la tabella, quindi nel mio specifico caso, per quella fetta di utenti che usa per forza il driver ODBC, non li farò accedere alla tabella fisica ma gli farò vedere una vista logica che sarà scritta così "Select * from tabella with (nolock)"
Così facendo quando leggeranno i dati da Access non avranno modo di allocarmi la tabella.
Sistema molto più efficiente:
- Usare il db tempdb a supporto per avere sempre un dato consistente anche se admin sta aggiornando i dati.
READ_COMMITTED_SNAPSHOT
Abilitare il READ_COMMITTED_SNAPSHOT nelle opzioni del database
Informazioni:
"Snapshot Isolation in SQL Server" (https://msdn.microsoft.com/en-us/lib...v=vs.110).aspx)
"Enabling Row Versioning-Based Isolation Levels" (https://technet.microsoft.com/en-us/...=sql.105).aspx)
"Displaying Row Versioning Information" (https://technet.microsoft.com/en-us/...=sql.105).aspx)
"Understanding Row Versioning-Based Isolation Levels" (https://technet.microsoft.com/en-us/...=sql.105).aspx)
"Using Row Versioning-based Isolation Levels" (https://technet.microsoft.com/en-us/...=sql.105).aspx)
In questo caso sarebbe anche opportuno verificare che la configurazione del tempdb rispecchi le best practices Microsoft che trovate qui https://support.microsoft.com/en-us/kb/2154845d
--------------------------------------------------------------------------------------------------
Nel mio caso applicherò la prima soluzione, mi basta e avanza, quando riuscirò a respirare approfondirò bene il secondo sistema che mi sembra molto più efficiente e sicuro.
Grazie a tutti per l'attenzione e il supporto, è stato molto apprezzato