I database con mirroring vengono disconnessi dopo il riavvio del mirroring del database in SQL Server
Questo articolo consente di risolvere il problema in cui i database con mirroring vengono lasciati in stato Disconnesso o In ripristino .
Versione originale del prodotto: SQL Server
Numero KB originale: 2490051
Sintomo
Considerare lo scenario descritto di seguito:
Si dispone di un computer che esegue un'istanza secondaria di Microsoft SQL Server in un mirror di database a due server.
L'utilizzo della CPU raggiunge il 100% nel computer e non è possibile arrestare il servizio SQL Server usando SQL Server Strumenti di gestione.
È possibile terminare il processo dell'istanza secondaria SQL Server usando Gestione attività.
Riavviare l'istanza secondaria di SQL Server.
In questo scenario, tutti i database con mirroring si trovano in uno stato Disconnesso o In ripristino . Inoltre, viene registrato un messaggio di errore simile al seguente nel log degli errori SQL Server per ogni database:
Ignorando il ripristino per il database 'Nome database' perché è contrassegnato come database di mirroring del database inaccessibile. Esiste un problema con la sessione di mirroring. La sessione non dispone di un quorum o i collegamenti di comunicazione sono interrotti a causa di problemi con i collegamenti, la configurazione dell'endpoint o le autorizzazioni (per l'account server o il certificato di sicurezza). Per ottenere l'accesso al database, individuare le modifiche apportate alla configurazione della sessione e annullare la modifica.
Causa
Questo problema si verifica a causa di problemi negli endpoint di mirroring del database SQL Server.
Risoluzione
Per risolvere questo problema, usare i metodi seguenti. Se il primo metodo non risolve il problema, usare il secondo metodo.
Metodo 1
Riciclare l'endpoint nel mirroring del database. A tal fine, attenersi alla seguente procedura:
Nel database principale eseguire lo script SQL seguente per arrestare l'endpoint:
ALTER ENDPOINT <Endpoint Name> STATE=STOPPED
Eseguire lo script SQL seguente per riavviare l'endpoint:
ALTER ENDPOINT <Endpoint Name> STATE=STARTED
Nota
Se la comunicazione tra gli endpoint non viene riavviato dopo l'esecuzione degli script, eseguire gli script nel mirroring del database. Dopo questa operazione, tuttavia, il database potrebbe immettere uno stato Sospeso . Se si verifica questo problema, eseguire lo script SQL seguente:
ALTER DATABASE <Database Name> SET PARTNER RESUME
Metodo 2
Eliminare e ricreare gli endpoint di mirroring del database in entrambi i server.
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: nel corso del 2024 verranno dismessi i problemi di GitHub come meccanismo di feedback per il contenuto e verranno sostituiti con un nuovo sistema di feedback. Per altre informazioni, vedere:Invia e visualizza il feedback per