Gestione di account di accesso e di processi dopo un cambio di ruolo

Il mirroring viene eseguito solo per il contenuto del database principale. Non è possibile eseguire il mirroring delle informazioni associate contenute nel database master o nei database di sistema msdb. Tra queste informazioni associate sono inclusi i processi configurati in base al database principale e gli account di accesso aggiunti al server principale.

Se tali informazioni sono necessarie per supportare il cambio di ruolo, è consigliabile duplicarle nel sito con mirroring. Se possibile, dopo il cambio di ruolo è opportuno riprodurre le informazioni a livello di programmazione nel nuovo database principale. I problemi più comuni riguardano gli account di accesso e i processi.

Account di accesso

Per consentire agli utenti di accedere al database dopo un cambio di ruolo, è necessario che un account di accesso del server principale che dispone dell'autorizzazione di accesso al database principale venga definito anche nel server mirror. Non è tuttavia possibile eseguire il mirroring del database master. Se pertanto si crea nel server principale corrente un nuovo account di accesso per il database principale, è necessario eseguire la stessa operazione nel server mirror.

L'account di accesso di ogni utente del database deve essere definito manualmente nel server mirror e nel server principale. In caso contrario, quando viene eseguito il cambio di ruolo del server principale e il server mirror precedente imposta il proprio database come database principale, gli utenti che non dispongono di account di accesso definiti nel server mirror precedente non potranno accedere al nuovo server principale, ovvero saranno isolati (orfani).

Se un utente è isolato (orfano) nel nuovo server principale, è necessario creare l'account di accesso in tale server ed eseguire sp_change_users_login (Transact-SQL). Per ulteriori informazioni, vedere Risoluzione dei problemi relativi agli utenti isolati.

Account di accesso delle applicazioni in cui viene utilizzata l'autenticazione di SQL Server

Se in un'applicazione tramite cui viene effettuato il tentativo di connessione a un database con mirroring viene utilizzata l'autenticazione di SQL, in caso di non corrispondenza dei SID è possibile che l'account di accesso dell'applicazione non venga risolto dopo un failover, rendendolo quindi un utente isolato. Per risolvere un utente isolato, è possibile utilizzare sp_change_users_login (vedere Risoluzione dei problemi relativi agli utenti isolati).

Tuttavia, durante la configurazione di un'applicazione di questo tipo è consigliabile adottare misure preventive in modo che sia previsto l'utilizzo del database con mirroring. Per informazioni su come evitare questo problema, vedere l'articolo della Knowledge Base 918992 relativo alla modalità di trasferimento degli account di accesso e delle password tra le istanze di SQL Server 2005 e SQL Server 2008.

Nota

Questo problema non si verifica con l'autenticazione di Windows poiché i SID per gli account di accesso di Windows non sono specifici del computer e vengono ottenuti da Active Directory.

Processi

I processi, ad esempio quelli di backup, richiedono una particolare attenzione. Dopo un cambio di ruolo, in genere il proprietario del database o l'amministratore di sistema devono ricreare i processi per il nuovo database principale.

Se il server principale precedente è disponibile, è inoltre consigliabile eliminare i processi originali dal nuovo database mirror. I processi del database mirror non vengono eseguiti poiché tale database si trova nello stato RESTORING e, pertanto, non è disponibile.

Nota

È possibile che i partner siano configurati in modo diverso, ad esempio con lettere di unità nastro differenti. I processi di ogni partner devono supportare eventuali differenze di questo tipo.