lunedì 10 agosto 2020

SQL - cancellazione utente e riassegnazione permessi

 Ciao,

nei giorni scorsi ho dovuto spostare un database chiamato ABQ su una nuova istanza SQL.

Nella vecchia istanza SQL era presente un utente sql chiamato sa2, che era DBO del database ABQ.

Per spostare il DB ho effettuato il backup di ABQ e l'ho ripristinato sulla nuova istanza.

Ho creato l'utente sa2 con le stesse credenziali del vecchio. Il problema e' nato quando ho provato a dare gli stessi permessi di DBO sul DB ABQ (security/logins/sa2/properties/user mappings)

Selezionare il DB e scegliere i ruoli da assegnare all'utente per quel DB.

Facendo questa operazione mi dava errore. Mi diceva che l'utente aveva gia i permessi.

Ho verificato meglio nelle proprieta del database, e l'utente era davvero gia presente (ABQ/tasto dx/properties/permission),

ma era collegato alla vecchia istanza.

Per risolvere e' sufficiente cancellare l'utente e ripetere l'operazione sopra.

Ecco la query per cancellare l'utente dalle permission di un database:

Use ABQ ;

GO

DROP USER sa2 ;

GO

Dopo aver fatto questo, per verificare che davvero l'operazione abbia funzionato provare ad eseguire un backup, o magari la cancellazione di tutte le tabelle (ahahah... scherzavo)

REFERENCE

https://www.sqlshack.com/drop-sql-server-login-dependencies/


Nessun commento:

Posta un commento