Trasferire login e password tra istanze di SQL Server

Luca Bianchi

di Luca Bianchi, in SQL Server, venerdì 12 gennaio 2007 ore 09.44

Sono molte le necessità per le quali si rende necessario trasferire degli account da una istanza di SQL Server ad un'altra.

I newsgroup sono pieni di quesiti posti da utenti allarmati dal fatto che a seguito di un restore o di un attach di un database su un server differente tutti i permessi impostati sugli oggetti sono andati persi. In realtà non sono i permessi ad essersi persi ma si è incappati nel cosiddetto fenomeno degli utenti orfani che si verifica per la rottura del legame esistente tra il login, ovvero colui che accede all'istanza di SQL Server, ed il rispettivo user (il soggetto che accede al database e che dispone dei necessari permessi sugli oggetti). Ciò è dovuto al fatto che il sid dello user (portato con il backup/attach) non corrisponde al sid del nuovo login a cui lo stesso user dovrebbe essere associato.

Nei casi in cui si debba semplicemente procedere ad una migrazione di un database da un server all'altro possiamo non porci alcuna preoccupazione e creare un nuovo login nel server di destinazione, associarlo allo user già presente nel database utilizzando l'istruzione sp_change_users_login e ripristinare in questo modo la piena funzionalità.

Ci sono scenari in cui la sp_change_users_login non può essere una strada percorribile; mi riferisco agli scenari di Log Shipping e di Database Mirroring dove per ovvie ragioni sarebbe preferibile non dover ricorrere, in caso di failover, alla necessità di rimappare ogni user con il rispettivo login.

La soluzione, in questi casi, è quella di utilizzare le indicazioni presenti in questo articolo della kb; per SQL Server 2005 la soluzione è invece in quest'altro articolo. Resta sempre percorribile, ovviamente, utilizzare direttamente il comando CREATE LOGIN per ricreare un account fornendo come parametri il SID e la password hashed.

Bye

Commenti

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.



Segnala su: Facebook MSDN Social Twitter Segnalo Wikio Diggita Technorati Stumbleupon Google Yahoo FriendFeed Delicious Furl

Nella stessa categoria
I più letti del mese
TagCloud
BLOG INFO
  • 100 post, 40 commenti, 24 trackback
  • Feed blog e contenuti tecnici: RSS
  • Feed blog: RSS Atom
IN EVIDENZA