2010-06-29 11 views
78

Esiste un comando SQL Server per connettere un utente di un singolo database a un accesso per il server di database con lo stesso nome?Come connettere un accesso SQL Server esistente a un utente di database SQL Server esistente con lo stesso nome

Ecco l'esempio:

server di database - Istanza di default Database: TestDB

Login server - TestUser utente esistente a TestDB - TestUser

Se provo a fare la TestUser login di un utente del database TestDB, "Utente, gruppo o ruolo" esiste già.

Qualcuno sa di un modo semplice per assegnare l'utente al login?

risposta

147

La nuova modo è quello di utilizzare ALTER USER

ALTER USER OrphanUser WITH LOGIN = correctedLoginName 
+0

È nuovo per SQL2008? – jkelley

+0

Da SQL Server 2005. Il collegamento di Gratzy si riferisce a questo in realtà. – gbn

+1

Ecco la ref: http://msdn.microsoft.com/en-us/library/ms176060.aspx – jkelley

5

Penso che sia sp_change_users_login. È passato un po 'di tempo, ma lo facevo quando stavo scollegando e ricollegando i database.

+0

Thank you - dimenticarono che sp ... funzionato come un fascino – jkelley

+1

Se l'account di accesso SQL è stata creata usando un account di accesso utente di Windows, quindi sp_change_users_login non lo farà lavoro - Mi sono imbattuto in questo oggi, portandomi a questa domanda. https://msdn.microsoft.com/en-us/library/ms174378.aspx –

+0

questo metodo è ora deprecato in favore del metodo ['ALTER USER', sopra] (https://stackoverflow.com/a/3144472/542251) – Liam

2

Ho usato la procedura sp_change_users_logi per realizzare, penso, quello scenario.

Problemi correlati