Gestione di account di accesso e di processi dopo un cambio di ruolo (SQL Server)Management of Logins and Jobs After Role Switching (SQL Server)

Quando si distribuisce una soluzione di recupero di emergenza o a disponibilità elevata per un database di SQL ServerSQL Server , è importante riprodurre le informazioni più significative archiviate per il database nei database master o msdb .When deploying a high-availability or disaster-recovery solution for a SQL ServerSQL Server database, it is important to reproduce relevant information that is stored for the database in the master or msdb databases. In genere, tra queste informazioni sono inclusi i processi del database primario/principale e gli account di accesso di utenti o processi necessari per la connessione al database.Typically, the relevant information includes the jobs of the primary/principal database and the logins of users or processes that need to connect to the database. È consigliabile duplicare queste informazioni in qualsiasi istanza di SQL ServerSQL Server in cui viene ospitato un database secondario/mirror.You should duplicate this information on any instance of SQL ServerSQL Server that hosts a secondary/mirror database. Se possibile, dopo il cambio di ruolo, è opportuno riprodurre le informazioni a livello di programmazione nel nuovo database primario/principale.If possible after roles are switched, it is best to programmatically reproduce the information on the new primary/principal database.

Account di accessoLogins

In tutte le istanze del server in cui viene ospitata una copia del database, è consigliabile riprodurre gli account di accesso con l'autorizzazione ad accedere al database principale.On every server instances that hosts a copy of the database, you should reproduce the logins that have permission to access the principal database. Quando il ruolo primario/principale cambia, solo gli utenti con account di accesso presenti nella nuova istanza del server primario/principale possono accedere al nuovo database primario/principale.When the primary/principal role switches, only users whose logins exist on the new primary/principal server instance can access the new primary/principal database. Gli utenti i cui account di accesso non sono definiti nella nuova istanza del server primario/principale sono orfani e non possono accedere al database.Users whose logins are not defined on the new primary/principal server instance are orphaned and cannot access the database.

Se un utente è orfano, creare l'account di accesso nella nuova istanza del server primario/principale ed eseguire sp_change_users_login.If a user is orphaned, create the login on the new primary/principal server instance and run sp_change_users_login. Per altre informazioni, vedere Risolvere i problemi relativi agli utenti isolati (SQL Server).For more information, see Troubleshoot Orphaned Users (SQL Server).

Account di accesso di applicazioni in cui viene utilizzata l'autenticazione di SQL Server o un account di accesso di Windows locale Logins Of Applications That Use SQL Server Authentication or a Local Windows Login

Se in un'applicazione viene utilizzata l'autenticazione di SQL Server o un account di accesso di Windows locale, i SID non corrispondenti possono impedire la risoluzione in un'istanza remota di SQL ServerSQL Serverda parte dell'account di accesso dell'applicazione.If an application uses SQL Server Authentication or a local Windows login, mismatched SIDs can prevent the application's login from resolving on a remote instance of SQL ServerSQL Server. In caso di SID non corrispondenti, l'account di accesso diventa un utente orfano nell'istanza del server remoto.The mismatched SIDs cause the login to become an orphaned user on the remote server instance. Questo problema si può verificare quando tramite un'applicazione si effettua la connessione a un database di log shipping o con mirroring dopo un failover o a un database Sottoscrittore di replica inizializzato da un backup.This issue can occur when an application connects to a mirrored or log shipping database after a failover or to a replication subscriber database that was initialized from a backup.

Per evitare questo problema, è consigliabile intraprendere misure preventive quando si configura un'applicazione di questo tipo per utilizzare un database ospitato da un'istanza remota di SQL ServerSQL Server.To prevent this issue, we recommend that you take preventative measures when you set up such an application to use a database that is hosted by a remote instance of SQL ServerSQL Server. La prevenzione comporta il trasferimento degli account di accesso e delle password dall'istanza locale di SQL ServerSQL Server all'istanza remota di SQL ServerSQL Server.Prevention involves transferring the logins and the passwords from the local instance of SQL ServerSQL Server to the remote instance of SQL ServerSQL Server. Per altre informazioni su come evitare questo problema, vedere l'articolo della Knowledge Base 918992 relativo allamodalità di trasferimento degli account di accesso e delle password tra le istanze di SQL Server.For more information about how to prevent this issue, see KB article 918992 —How to transfer logins and passwords between instances of SQL Server).

Nota

Questo problema influisce sugli account di Windows locali in computer diversi.This problem affects Windows local accounts on different computers. Tuttavia, non si verifica in caso di account di dominio, dal momento che il SID è identico in ogni computer.However, this problem does not occur for domain accounts because the SID is the same on each of the computers.

Per altre informazioni, vedere la pagina relativa agli utenti orfani con log shipping e mirroring del database (blog del motore di database).For more information, see Orphaned Users with Database Mirroring and Log Shipping (a Database Engine blog).

ProcessiJobs

I processi, ad esempio quelli di backup, richiedono una particolare attenzione.Jobs, such as backup jobs, require special consideration. Dopo un cambio di ruolo, in genere il proprietario del database o l'amministratore di sistema deve ricreare i processi per il nuovo database primario/principale.Typically, after a role switch, the database owner or system administrator must re-create the jobs for the new primary/principal database.

Se l'istanza del server primario/principale precedente è disponibile, è consigliabile eliminare i processi originali nell'istanza di SQL ServerSQL Serverin questione.When the former primary/principal server instance is available, you should delete the original jobs on that instanceof SQL ServerSQL Server. Si noti che i processi nel database mirror attuale non vengono eseguiti poiché il database si trova nello stato RESTORING e, pertanto, non è disponibile.Note that jobs on the current mirror database fail because it is in the RESTORING state, making it unavailable.

Nota

È possibile che istanze differenti di SQL ServerSQL Server siano configurate in modo diverso, ad esempio con lettere di unità differenti.Different instances of SQL ServerSQL Server might be configured differently, with different drive letters or such. I processi di ogni partner devono supportare eventuali differenze di questo tipo.The jobs for each partner must allow for any such differences.

Vedere ancheSee Also

Gestione dei metadati quando si rende disponibile un database in un'altra istanza del server (SQL Server) Manage Metadata When Making a Database Available on Another Server Instance (SQL Server)
Risolvere i problemi relativi agli utenti isolati (SQL Server) Troubleshoot Orphaned Users (SQL Server)