IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

Mise en miroir - erreur 1418


Sujet :

MS SQL Server

  1. #1
    Membre à l'essai
    Profil pro
    Consultant IT
    Inscrit en
    Octobre 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant IT

    Informations forums :
    Inscription : Octobre 2006
    Messages : 29
    Points : 17
    Points
    17
    Par défaut Mise en miroir - erreur 1418
    Je souhaite utiliser la mise en miroir de sql server.

    Pour cela, j'ai configuré 3 serveurs avec Windows server 2003 SP2 + sql Server SP2.
    Ils sont dans le même active directory, sans firewall.

    J'ai créé une base vierge sur mon premier serveur.
    J'ai fait une sauvegarde afin de la restaurer sur mes 2 autres serveurs (avec l'option NOT RECOVERY)

    Quand je lance la mise en miroir à partir de mon serveur principal, j'ai l'erreur suivante :

    Msg 1418, Niveau 16, État 1, Ligne 1
    L'adresse réseau du serveur "tcp://HOTE_B.DOMAINE.LOCAL:5022" est impossible à atteindre ou elle n'existe pas. Vérifiez le nom de l'adresse réseau et assurez-vous que les ports des points de terminaison locaux et distants sont opérationnels.
    J'ai fait un test avec telnet pour tous les serveurs, et tout à l'air de bien fonctionner.

    Apparement, c'est un problème connu mais je n'ai trouvé aucune réponse qui fonctionne !


    Merci de votre aide

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 056
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 056
    Points : 1 216
    Points
    1 216
    Par défaut
    bonjour,

    il y a une guide de dépannage assez complet là :
    http://msdn2.microsoft.com/en-us/library/aa337361.aspx

    par contre, vous parlez de 2 autres serveurs : le database mirroring se fait d'une base à une autre seulement. Vous ne pouvez pas avoir 2 miroirs et 1 principal.
    1 principal et 1 miroir, et éventuellement 1 témoin (sur lequel il n'y a rien à restaurer).

    Si la galère persiste, essayez de décrire plus précisément la situation (machines, ip, réseau, étapes de la mise en place du miroir)...
    merci
    Emmanuel T.

  3. #3
    Membre à l'essai
    Profil pro
    Consultant IT
    Inscrit en
    Octobre 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant IT

    Informations forums :
    Inscription : Octobre 2006
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    merci pour le lien. Ce guide est en effet très complet.

    Mon erreur 1418 est en faite une erreur générique. En analysant les logs sql, j'ai eu plus d'informations.je me suis aperçu que le compte utilisé pour se connecter n'était pas le bon.

    Dans la documentation de microsoft, il est indiqué que l'on doit faire tourner le service MSSQLSERVER avec NT AUTHORITY\NetworkService.
    Le compte utilisé pour se connecter au serveur miroir n'étant pas le bon (il utilisait MONDOMAINE\MAMACHINE$), j'ai décider de faire tourner les services SQL sous le compte administrateur du domaine, et là, j'ai plus de soucis.

    Je suis donc parvenu à résoudre mon problème

    Pour info, j'ai parlé de 3 serveurs car j'ai :
    1 serveur principal
    1 serveur miroir
    1 serveur témoin


    J'ai cependant une autre question. Voici le contexte :
    Ma base de données est donc sur 2 serveurs, le principal et le miroir.
    Quand le mode miroir est activé, ma base n'est disponible que sur le serveur principal. Grace à mon serveur témoin, le serveur miroir bascule en principal lorsque le principal ne répond plus, et inversement.

    Ma question est la suivante :
    Comment faire en sorte que mon application est connaissance du serveur ayant le rôle de principal afin que je puisse accéder en lecture/écriture sur ma base ?

    Une autre petite question pour la route :
    le mode miroir est-il plus performant sur un Windows Server Entreprise, plutôt que sur un Windows Server Standard ?



    merci d'avance

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 056
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 056
    Points : 1 216
    Points
    1 216
    Par défaut
    Ma question est la suivante :
    Comment faire en sorte que mon application est connaissance du serveur ayant le rôle de principal afin que je puisse accéder en lecture/écriture sur ma base ?
    Si l'application utilise le dernier client SQL Server, il est possible de spécifier le partenaire de failover ce qui permettra à l'appli de se reconnecter au nouveau principal (un témoin est obligatoire pour ce mode) avec ces connecteurs :

    SQL Native Client
    ADO.NET 2.0 provider for SQL Server 2005 (SqlClient)
    SQL Server 2005 JDBC (Java Database Connectivity) 1.1 Driver

    Sinon, il doit être possible d'interroger les tables système pour connaître le rôle des 2 partenaires.

    le mode miroir est-il plus performant sur un Windows Server Entreprise, plutôt que sur un Windows Server Standard ?
    Idem, sauf que certains fonctionnalités sont indisponibles sur Standard (mode async, snapshot sur miroir)
    Emmanuel T.

  5. #5
    Membre à l'essai
    Profil pro
    Consultant IT
    Inscrit en
    Octobre 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant IT

    Informations forums :
    Inscription : Octobre 2006
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    merci kagemaru pour ton aide.

    Le mode miroir répond complètement à mes attentes. Je pense le mettre en production pour ma prochaine application.

  6. #6
    Nouveau Candidat au Club
    Inscrit en
    Février 2007
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par rapido Voir le message
    merci pour le lien. Ce guide est en effet très complet.

    Mon erreur 1418 est en faite une erreur générique. En analysant les logs sql, j'ai eu plus d'informations.je me suis aperçu que le compte utilisé pour se connecter n'était pas le bon.

    Dans la documentation de microsoft, il est indiqué que l'on doit faire tourner le service MSSQLSERVER avec NT AUTHORITY\NetworkService.
    Le compte utilisé pour se connecter au serveur miroir n'étant pas le bon (il utilisait MONDOMAINE\MAMACHINE$), j'ai décider de faire tourner les services SQL sous le compte administrateur du domaine, et là, j'ai plus de soucis.

    Je suis donc parvenu à résoudre mon problème

    Pour info, j'ai parlé de 3 serveurs car j'ai :
    1 serveur principal
    1 serveur miroir
    1 serveur témoin


    J'ai cependant une autre question. Voici le contexte :
    Ma base de données est donc sur 2 serveurs, le principal et le miroir.
    Quand le mode miroir est activé, ma base n'est disponible que sur le serveur principal. Grace à mon serveur témoin, le serveur miroir bascule en principal lorsque le principal ne répond plus, et inversement.

    Ma question est la suivante :
    Comment faire en sorte que mon application est connaissance du serveur ayant le rôle de principal afin que je puisse accéder en lecture/écriture sur ma base ?

    Une autre petite question pour la route :
    le mode miroir est-il plus performant sur un Windows Server Entreprise, plutôt que sur un Windows Server Standard ?



    merci d'avance

    Bonjour,

    Je rencontre le meme problème erreur 1418 dans les meme conditions. Suite à la lecture de ce post, j'ai parametré le service MSSQLSERVER pour qu'il démarre avec un compte admin du domaine ex: compte@domaine (par contre pas le compte "administrateur"). Ceci étant je rencontre toujours le problème, la mise en miroire génére l'erreur 1418.
    Peux-tu préciser dans quel groupe le compte admin du domaine doit il etre membre.

    Merci d'avance

    Cordialement

  7. #7
    Membre à l'essai
    Profil pro
    Consultant IT
    Inscrit en
    Octobre 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant IT

    Informations forums :
    Inscription : Octobre 2006
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    Je n'ai pas mis le compte admin dans un groupe spécifique.
    J'ai utilisé le compte "Administrateur@MonDomaine.com" et ça a marché tout de suite.

    Petit conseil, pour te connecter aux serveurs SQL, utilise l'authentification SQL Server au lieu de l'anthentification Windows. (crée un utilisateur commun pour tes bases SQL).

  8. #8
    Futur Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Bonjour,

    J'ai la même erreur que vous :

    ------------------------------------
    Une erreur s'est produite lors du démarrage de la mise en miroir.

    Échec de Modifier pour Base de données « test ». (Microsoft.SqlServer.Smo)

    Une exception s'est produite lors de l'exécution d'une instruction ou d'un lot Transact-SQL. (Microsoft.SqlServer.ConnectionInfo)

    L'adresse réseau du serveur "TCP://machinemiroir.domaine:port" est impossible à atteindre ou elle n'existe pas. Vérifiez le nom de l'adresse réseau et assurez-vous que les ports des points de terminaison locaux et distants sont opérationnels. (Microsoft SQL Server, Erreur : 1418)
    ------------------------------------------

    J'ai vérifier que les deux serveurs étaient bien en écoute sur le port du point de terminaison définit. C'est ok pour les deux


    Dans les logs du principal: Program Files/...MSSQL/..../LOGS

    Database Mirroring login attempt by user 'AUTORITE NT\ANONYMOUS LOGON.' failed with error: 'Connection handshake failed. The login 'AUTORITE NT\ANONYMOUS LOGON' does not have CONNECT permission on the endpoint. State 84.'. [CLIENT: xxx.xxx.xxx.xxx]

    Dans les logs du miroir :
    Error: 1474, Severity: 16, State: 1.
    2008-01-16 13:49:45.35 spid26s Database mirroring connection error 4 'An error occurred while receiving data: '10054(Une connexion existante a dû être fermée par l'hôte distant.)'.' for 'TCP://NOMSERVEURPRINCIPAL.DOMAINE:7024'.
    2008-01-16 13:50:05.35 spid23s Erreur : 1443, Gravité : 16, État : 2.
    2008-01-16 13:50:05.35 spid23s Database mirroring has been terminated for database 'test'. This is an informational message only. No user action is required.

    Mes deux serveur ne sont pas dans un domaine AD. Je ne suis pas dans le même cas que vous. Est ce que vous savez comment la mise en miroir fonctionne.
    Comment définir le user qui initialise la connexion?
    Comment autorisé cet user sur la base miroir?

    Merci de votre aide.
    J'ai quelque base d'SQL et de Windows mais pas trop non plus.

    Merci
    Emilie

  9. #9
    Nouveau Candidat au Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Mars 2014
    Messages : 1
    Points : 1
    Points
    1
    Par défaut basculement manuel
    Bonjour

    après de longs essais, j'ai pu enfin faire marché la mise en miroir (erreur 1418), j'ai finalement remplacé le serveur miroir par l'adresse ip (TCP://<adresse ip>:port) est tout marche à merveille



    - le souci que j'ai, c'est que j'utilise une configuration sans témoin ( basculement manuel), donc la question est: comment faire le basculement manuellement si on a eu une panne matérielle est que c'est impossible de se connecter sur le serveur principal pour faire le basculement

  10. #10
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    Si tu veux effectuer un basculement manuel il faut se connecter sur ton serveur miroir et effectuer le basculement :

    En mode synchrone :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER DATABASE <database> SET PARTNER FAILOVER
    En mode asynchrone :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER DATABASE <database> SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS
    Bien entendu dans le 2ème cas une perte de données est à envisager

    ++

  11. #11
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Mars 2005
    Messages : 95
    Points : 88
    Points
    88
    Par défaut
    bonjour,
    vous n'êtes pas obligé de mettre les comptes de services SQL "Admin du domaine" pour mettre en place le mirroring. C'est LA solution de facilité mais pas du tout secure. Les compte de service doivent avoir le minimum de droits sur le serveur.

    Il faut utiliser les certificats. c'est assez simple:
    http://technet.microsoft.com/en-us/l.../ms191140.aspx

    sebastien
    DBA SQLServer, Oracle, Mysql, DB2, Postgresql

  12. #12
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 772
    Points : 52 735
    Points
    52 735
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par rapido Voir le message
    J'ai cependant une autre question. Voici le contexte :
    Ma base de données est donc sur 2 serveurs, le principal et le miroir.
    Quand le mode miroir est activé, ma base n'est disponible que sur le serveur principal. Grace à mon serveur témoin, le serveur miroir bascule en principal lorsque le principal ne répond plus, et inversement.

    Ma question est la suivante :
    Comment faire en sorte que mon application est connaissance du serveur ayant le rôle de principal afin que je puisse accéder en lecture/écriture sur ma base ?
    Vous n'avez en principe rien à faire, les paramètres deu serveur de secours sont transmis automatiquement aux bibliothèques clientes et l'application tentera de se connecter sur le principal et en cas de tiemout, essaye le secours...

    Une autre petite question pour la route :
    le mode miroir est-il plus performant sur un Windows Server Entreprise, plutôt que sur un Windows Server Standard ?
    Les performances sont strictement les mêmes.
    Cependant, la version Enterprise permet de faire du miroir asynchrone, ce que ne permet pas la version Standard, et dans ce cas les performances sont nettement meilleures ! En effet en mode synchrone, le serveur principal attend la confirmation de réception de chaque transaction, avant de finaliser la transaction. Ce qui n'est pas le cas en mode asynchrone !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  13. #13
    Membre confirmé
    Homme Profil pro
    Expert SQL Server
    Inscrit en
    Août 2009
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Expert SQL Server

    Informations forums :
    Inscription : Août 2009
    Messages : 61
    Points : 454
    Points
    454
    Par défaut
    Citation Envoyé par taritem Voir le message
    Bonjour,



    Mes deux serveur ne sont pas dans un domaine AD. Je ne suis pas dans le même cas que vous. Est ce que vous savez comment la mise en miroir fonctionne.
    Comment définir le user qui initialise la connexion?
    Comment autorisé cet user sur la base miroir?

    Merci de votre aide.
    J'ai quelque base d'SQL et de Windows mais pas trop non plus.

    Merci
    Emilie
    Utilisez les certificats qui permettront aux serveurs de s'authentifier mutuellement sur le endpoint du mirroring. Le user qui authentifie les connexions des serveurs entre eux n'a pas besoin d'avoir accès aux BD. C'est indépendant.

    Un petit script à customiser pour mettre en place un DBM, avec witness authnetifié par certificats :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
     
    -- connexion sur server Principal :
     
     
    USE master;
    --CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<Strong_Password_#1>';
    GO
     
     
     
    CREATE CERTIFICATE SQL1_cert 
       WITH SUBJECT = 'SQL1 certificate';
    GO
     
     
    CREATE ENDPOINT Endpoint_Mirroring
       STATE = STARTED
       AS TCP (
          LISTENER_PORT=7024
          , LISTENER_IP = ALL
       ) 
       FOR DATABASE_MIRRORING ( 
          AUTHENTICATION = CERTIFICATE SQL1_cert
          , ENCRYPTION = REQUIRED ALGORITHM AES
          , ROLE = ALL
       );
    GO
     
     
     
    BACKUP CERTIFICATE SQL1_cert TO FILE = 'E:\MSSQL\MSSQL10.SQL2\MSSQL\Backup\SQL1_cert.cer';
    GO
     
    -- copier le certificat sur Serveur miroir
     
     
    -- connexion sur le serveur Miroir
    USE master;
    --CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<Strong_Password_#2>';
    GO
    select * from sys.certificates 
     
    CREATE CERTIFICATE SQL2_cert 
       WITH SUBJECT = 'SQL2 certificate';
    GO
     
     
     
    CREATE ENDPOINT Endpoint_Mirroring
       STATE = STARTED
       AS TCP (
          LISTENER_PORT=7024
          , LISTENER_IP = ALL
       ) 
       FOR DATABASE_MIRRORING ( 
          AUTHENTICATION = CERTIFICATE SQL2_cert
          , ENCRYPTION = REQUIRED ALGORITHM AES
          , ROLE = ALL
       );
    GO
     
     
    BACKUP CERTIFICATE SQL2_cert TO FILE = 'E:\MSSQL\MSSQL10.SQL2\MSSQL\Backup\SQL2_cert.cer';
    GO
     
     
    -- connexion sur Witness
    SE master;
    --CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<Strong_Password_#3>';
    GO
    select * from sys.certificates 
     
    CREATE CERTIFICATE SQL3_cert 
       WITH SUBJECT = 'SQL3 certificate';
    GO
     
     
     
     
    CREATE ENDPOINT Endpoint_Mirroring
       STATE = STARTED
       AS TCP (
          LISTENER_PORT=7024
          , LISTENER_IP = ALL
       ) 
       FOR DATABASE_MIRRORING ( 
          AUTHENTICATION = CERTIFICATE SQL3_cert
          , ENCRYPTION = REQUIRED ALGORITHM AES
          , ROLE = ALL
       );
    GO
     
     
    BACKUP CERTIFICATE SQL3_cert TO FILE = 'E:\MSSQL\MSSQL10.SQL3\MSSQL\Backup\SQL3_cert.cer';
    GO
     
     
    -- penser à bien recopier les certificats
     
    -- connexion sur SQL1
    USE master;
    CREATE LOGIN SQL2_login WITH PASSWORD = 'P@ssw0rdSQL2';
    CREATE LOGIN SQL3_login WITH PASSWORD = 'P@ssw0rdSQL3';
    GO
     
    --Create a user for that login.
     
    CREATE USER SQL2_User FOR LOGIN SQL2_login;
    CREATE USER SQL3_User FOR LOGIN SQL3_login;
    GO
     
    --Associate the certificate with the user.
     
    CREATE CERTIFICATE SQL2_cert
       AUTHORIZATION SQL2_User
       FROM FILE = 'E:\MSSQL\MSSQL10.SQL1\MSSQL\Backup\SQL2_cert.cer'
    GO
    CREATE CERTIFICATE SQL3_cert
       AUTHORIZATION SQL3_User
       FROM FILE = 'E:\MSSQL\MSSQL10.SQL1\MSSQL\Backup\SQL3_cert.cer'
    GO
     
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [SQL2_login];
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [SQL3_login];
    GO
     
     
     
     
    -- connexion sur SQL2
    USE master;
    CREATE LOGIN SQL1_login WITH PASSWORD = 'P@ssw0rdSQL1';
    CREATE LOGIN SQL3_login WITH PASSWORD = 'P@ssw0rdSQL3';
    GO
     
    --Create a user for that login.
     
    CREATE USER SQL1_User FOR LOGIN SQL1_login;
    CREATE USER SQL3_User FOR LOGIN SQL3_login;
    GO
     
    --Associate the certificate with the user.
     
    CREATE CERTIFICATE SQL1_cert
       AUTHORIZATION SQL1_User
       FROM FILE = 'E:\MSSQL\MSSQL10.SQL2\MSSQL\Backup\SQL1_cert.cer'
    GO
    CREATE CERTIFICATE SQL3_cert
       AUTHORIZATION SQL3_User
       FROM FILE = 'E:\MSSQL\MSSQL10.SQL2\MSSQL\Backup\SQL3_cert.cer'
    GO
     
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [SQL1_login];
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [SQL3_login];
    GO
     
     
    -- connect SQL3
    USE master;
    CREATE LOGIN SQL1_login WITH PASSWORD = 'P@ssw0rdSQL1';
    CREATE LOGIN SQL2_login WITH PASSWORD = 'P@ssw0rdSQL2';
    GO
     
    --Create a user for that login.
     
    CREATE USER SQL1_User FOR LOGIN SQL1_login;
    CREATE USER SQL2_User FOR LOGIN SQL2_login;
    GO
     
    --Associate the certificate with the user.
     
    CREATE CERTIFICATE SQL1_cert
       AUTHORIZATION SQL1_User
       FROM FILE = 'E:\MSSQL\MSSQL10.SQL3\MSSQL\Backup\SQL1_cert.cer'
    GO
    CREATE CERTIFICATE SQL2_cert
       AUTHORIZATION SQL2_User
       FROM FILE = 'E:\MSSQL\MSSQL10.SQL3\MSSQL\Backup\SQL2_cert.cer'
    GO
     
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [SQL1_login];
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [SQL2_login];
    GO
     
     
     
    -- connect sur SQL2
     
    ALTER DATABASE DemoDB
        SET PARTNER = 'TCP://vm-sql1:7024';
    GO
     
     
     
    -- connect sur SQL1
    ALTER DATABASE DemoDB
        SET PARTNER = 'TCP://vm-sql2:7024';
    GO


    Christophe
    Christophe LAPORTE | Independent Consultant & Trainer
    SQL Server Certified Master | Azure Solution Architect

Discussions similaires

  1. Miroir sql server 2008 (erreur 1418)
    Par Jlh13 dans le forum Réplications
    Réponses: 5
    Dernier message: 22/03/2010, 16h33
  2. Mise en miroir, erreur 1443
    Par Arkkan dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 23/10/2009, 10h09
  3. Mise en mirroir Msg erreur 1418
    Par taritem dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 20/02/2008, 14h54
  4. Réponses: 4
    Dernier message: 30/08/2006, 08h37
  5. [ADO] [Mise a jour ] Erreur
    Par hamed dans le forum Bases de données
    Réponses: 7
    Dernier message: 13/03/2005, 19h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo