Le serveur de basculement a le statut (miroir, déconnecté, en cours de récupération) et le serveur principal a le statut (principal, déconnecté).
Quel est le processus pour reconnecter ces serveurs?
Le serveur de basculement a le statut (miroir, déconnecté, en cours de récupération) et le serveur principal a le statut (principal, déconnecté).
Quel est le processus pour reconnecter ces serveurs?
Réponses:
Parfois, le redémarrage du point de terminaison en miroir sur le serveur principal résout ce problème.
Pour ce faire, utilisez le T-SQL suivant.
ALTER ENDPOINT Endpoint_Name STATE = STOPPED
ALTER ENDPOINT Endpoint_Name STATE = STARTED
Pour obtenir le nom du point de terminaison.
SELECT * FROM sys.endpoints
WHERE type = 4
Voir KB 2490051 pour plus de détails.
Tout d'abord, essayez de les faire se reconnecter avec cette commande T-SQL sur le principal:
ALTER DATABASE AdventureWorks2012 SET PARTNER RESUME;
Si cela échoue, vous avez un problème de communication entre le principal et le miroir, et c'est là que le plaisir commence. Cela peut aller de la connectivité IP à la sécurité sur les points de terminaison en miroir à différentes méthodes de chiffrement. Je recommanderais le livre de Robert Davis Pro SQL Server 2008 Mirroring si vous avez besoin de vous lancer dans un dépannage approfondi.
Dans notre cas, nous utilisons l'authentification par certificat pour connecter les points de terminaison en miroir, et le problème était dû au fait que l'un des certificats que les points de terminaison en miroir utilisaient avait expiré.
Vous pouvez vérifier la date d'expiration du certificat impliqué dans l'authentification du noeud final en effectuant une
SELECT * FROM sys.certificates
Si tel est le cas, vous devrez créer de nouveaux certificats pour tout ce qui a expiré, puis faire ALTER ENDPOINT
après leur importation.
J'ai résolu ce problème par les étapes suivantes, le redémarrage du point de terminaison uniquement sur PRIMARY n'a pas aidé
Le PRIMAIRE:
SELECT * FROM sys.endpoints WHERE type = 4
ALTER ENDPOINT Mirroring STATE = STOPPED
ALTER ENDPOINT Mirroring STATE = STARTED
Sur MIROIR:
SELECT * FROM sys.endpoints WHERE type = 4
ALTER ENDPOINT Mirroring STATE = STOPPED
ALTER ENDPOINT Mirroring STATE = STARTED
De retour sur PRIMARY:
ALTER DATABASE PACXDSite SET PARTNER RESUME;
Cas:
Lorsque vous exécutez la commande ci-dessous sur le serveur principal:
alter database 'Database_Name' set partner off
Après avoir exécuté la commande ci-dessus, votre base de données passe en [mirror, disconnected]
état sur le serveur miroir.
Résolution:
Étape 1: exécuter la requête ci-dessous sur le miroir
exec sp_resetstatus 'Database_Name'
Étape 2: Après avoir exécuté la commande ci-dessous, votre base de données sera disponible.
restore database 'Database_Name' with recovery
Remarque: l'étape 2 prendra un certain temps à récupérer.
Si "RESUME PARTNER" ne fonctionne pas
ALTER DATABASE AdventureWorks2016 SET PARTNER RESUME;
Je briserais le miroir de cette base de données et le reconfigurerais.
- ÉTAPE 1 SUR PRINCIPAL, briser le miroir pour une base de données
ALTER DATABASE AdventureWorks2016 SET PARTNER OFF;
- ÉTAPE 2 SUR MIROIR, briser le miroir pour une base de données
ALTER DATABASE AdventureWorks2016 SET PARTNER OFF;
- ÉTAPE 3 SUR LE MIROIR
RESTORE LAST FULL BACKUP DATABASE WITH NO RECOVERY
RESTORE TRAN BACKUP DATABASE WITH NO RECOVERY
- ÉTAPE 4 SUR LE MIROIR
ALTER DATABASE AdventureWorks2016 SET PARTNER = 'TCP://PRINCIPAL.MyDomain.COM:5022';
- ÉTAPE 5 SUR LE PRINCIPAL
ALTER DATABASE AdventureWorks2016 SET PARTNER = 'TCP://MIRROR.MyDomain.COM:5022';
- ÉTAPE 6 SUR PRINCIPAL, si un TÉMOIN a déjà été configuré
ALTER DATABASE AdventureWorks2016 SET WITNESS = 'TCP://WITNESS.MyDomain.COM:5022';
Il convient de mentionner que tout ce qui précède peut être effectué pendant les heures de travail car la base de données principale sera toujours en ligne et disponible.