Ciao a tutti,
ho sviluppato un applicazione in c# che si connette ad un database sql server 2005; questa applicazione, in base alle versioni che implemento, deve poter alterare la struttura del database.
Nota: questa applicazione è distribuita ad una 50ina di pc i cui proprietari accedono tramite un utente limitato registrato in Active Directory.
Inizialmente, dopo avere creato il database, come amministratore imposto all'utente [public] tutti i permessi possibili: sul database CREATE TABLE e CREATE VIEW, mentre per le tabelle SELECT, INSERT, UPDATE, DELETE.
Fin qui tutto ok: l'utente accede alla mia applicazione che riesce a leggere, modificare, inserire sulle tabelle.
Ad un certo punto ho dovuto aggiornare la versione della mia applicazione che ha comportato l'inserimento di una nuova tabella (creata in background all'avvio della mia applicazione dopo il controllo di versione).
La creazione della tabella va a buon fine, però sono assenti tutti i grant su di essa. Infatti dopo che la mia applicazione ha creato la tabella, quando devo fare operazioni su di essa viene mostrata un'eccezione.
La soluzione è entrare nel pc, accedere a sql server Management "come amministratore" (che ovvimente gli utenti non devono sapere) e lanciare gli script di GRANT sulla nuova tabella.
Questa cosa risulta molto complicata se i pc da aggiornare sono tanti e devo accedere da remoto.
Esiste qualche soluzione per dare i grant alla mia tabella?
Grazie in anticipo per le rispiste.
PS: l'accesso al database avviene con autenticazione Windows.

Rispondi quotando
