Buongiorno a tutti, scenario: SQL Server 2008 Enterprise
Il problema:
Tabella "Pippo" condivisa con n utenti abilitati ad accedervi con il solo permesso di "Select"
La tabella Pippo viene updatada più volte durante il giorno (sempre in accoda) e viene eseguito un delete di una fetta di dati posti nel passato.
Casistica:
- Un utente accede alla tabella con un driver ODBC, non la chiude e la tabella rimanendo allocata non riesce ad eliminare i dati della tabella finchè l'utente finale non libera il processo, quindi impedisce anche il successivo insert
Soluzione tampone:
Una procedura che prima di procedere al delete controlla se c'è qualche utente che la impegna, se ne trova killa in automatico gli utenti e procede con il delete e poi la scrittura dei dati.
Funziona, ma questa casistica non è ottimale perchè essendo una tabella che viene updatata molte volte ci ritroviamo nella condizione di killare continuamente le query degli utenti finali.
Il collegamento con access è solo un esempio, la tabella può essere letta anche da PowerBI, Visula Studio, SQL Stesso.
------------------------------------------------------------
Richiesta di aiuto:
Conoscete un modo per poter cancellare il dato anche se la tabella è allocata da n utenti senza doverli killare e senza dover attendere la coda di accesso di SQL?
Se la soluzione richiede una modifica al db/schema/tabella va bene, ciò che mi interessa è comprendere come eliminare e accodare immediatamente i dati pur avendo la tabella impegnata da altri utenti.