Mise en miroir - L'adresse réseau du serveur ne peut pas être atteinte


12

J'ai installé SQL Server 2008 R2. Il contient trois instances.

  1. Par défaut (MSSQLServer)
  2. Première instance
  3. Deuxième instance

Tous ces éléments sont Ouvrir une session en tant que service réseau.

L'instance par défaut est le serveur principal La première instance est le miroir La deuxième instance est le serveur témoin

J'ai d'abord pris la sauvegarde complète et la sauvegarde du journal des transactions de ma base de données principale. Restauré en première instance en conservant le même nom de base de données et le même état de récupération est sans récupération

Enfin, j'ai commencé la mise en miroir et j'obtiens deux messages d'erreur illustrés ci-dessous.

entrez la description de l'image ici

entrez la description de l'image ici

Réponses:


12

Essayez quelques tests de connectivité de base.

  1. Vérifiez que 5022, 5023 et 5024 écoutent.
  2. Vérifiez que le nom de serveur que vous utilisez est correct.

Depuis la ligne de commande:

netstat -an

entrez la description de l'image ici

Sur mon serveur, vous pouvez voir que 5022 écoute.

Assurez-vous ensuite que vous pouvez vous connecter à ces ports via telnet

telnet fully-qualified-server-name 5022

Comme il le mentionne dans la section Remarque de l'interface graphique des propriétés de mise en miroir, juste en dessous du champ témoin, les noms de serveur doivent être des adresses TCP complètes.

entrez la description de l'image ici

Vous devriez juste voir un écran noir. Dans cet exemple, j'ai choisi un nom qui entraînerait un échec de connexion. Si vous voyez "Impossible d'ouvrir la connexion", les serveurs définis comme miroir, principal et témoin ne sont pas accessibles ou vous n'utilisez pas le bon nom.

Le client telnet peut être ajouté sous Fonctionnalités dans Windows 2008.

Dans Windows 2008, lorsque vous cliquez avec le bouton droit sur Ordinateur, vous pouvez voir le nom complet de l'ordinateur. Vous devriez également pouvoir le cingler à partir de la ligne de commande. ex: ping myservername

Mise à jour

Veuillez exécuter les requêtes suivantes sur chaque instance de SQL Server et mettre les résultats dans votre question. Beaucoup de ces conseils de dépannage proviennent de: http://msdn.microsoft.com/en-us/library/ms189127.aspx

Afficher les points de terminaison TCP

SELECT type_desc, port FROM sys.tcp_endpoints;

Afficher l'état des points de terminaison en miroir

SELECT state_desc FROM sys.database_mirroring_endpoints;

Vérifiez que le RÔLE est correct

SELECT role FROM sys.database_mirroring_endpoints;

Afficher les autorisations sur les points de terminaison

SELECT EP.name, SP.STATE, 
   CONVERT(nvarchar(38), suser_name(SP.grantor_principal_id)) 
      AS GRANTOR, 
   SP.TYPE AS PERMISSION,
   CONVERT(nvarchar(46),suser_name(SP.grantee_principal_id)) 
      AS GRANTEE 
   FROM sys.server_permissions SP , sys.endpoints EP
   WHERE SP.major_id = EP.endpoint_id
   ORDER BY Permission,grantor, grantee; 
GO

La connexion pour le compte de service de l'autre instance de serveur nécessite l'autorisation CONNECT. Assurez-vous que la connexion de l'autre serveur dispose de l'autorisation CONNECT. Pour déterminer qui a l'autorisation CONNECT pour un point de terminaison, utilisez sur chaque instance de serveur l'instruction Transact-SQL suivante.

Exemple de sortie:

name    STATE   GRANTOR PERMISSION  GRANTEE
TSQL Local Machine  G   sqladmin    CO      public
TSQL Named Pipes    G   sqladmin    CO      public
TSQL Default TCP    G   sqladmin    CO      public
TSQL Default VIA    G   sqladmin    CO      public
Mirroring   G   SERVERNAME\Grantor  CO      SERVERNAME\Grantee

Le concédant est le compte qui a attribué l'autorisation de connexion (CO), le bénéficiaire est le compte qui a l'autorisation de connexion

À partir de la ligne de commande, exécutez ipconfig /allet notez le nom d'hôte renvoyé.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.