Configuration des comptes de connexion pour la mise en miroir de bases de données

Pour que deux instances de serveur communiquent dans une session de mise en miroir de bases de données, le compte de connexion de chaque instance doit avoir accès à l'autre instance. Par ailleurs, chaque compte de connexion doit disposer d'une autorisation de connexion au point de terminaison de mise en miroir de bases de données de l'autre instance. Pour plus d'informations sur ce point de terminaison, consultez Point de terminaison de mise en miroir de bases de données.

Dans cette rubrique

  • Création de noms d'accès d'utilisateur

  • Attribution d'une autorisation de connexion

  • Tâches connexes

Création de noms d'accès d'utilisateur

Les informations contenues dans les bases de données système master et msdb ne peuvent pas être mises en miroir. En conséquence, pour que le basculement de rôle fonctionne efficacement pour tous les utilisateurs de base de données, les noms d'accès d'utilisateur disposant d'autorisations de connexion sur l'instance du serveur principal doivent également exister sur l'instance du serveur miroir.

L'impact de cette condition est différent suivant que les partenaires de mise en miroir s'exécutent ou non sous le même compte d'utilisateur de domaine :

  • Si les partenaires s'exécutent sous le même compte d'utilisateur de domaine, les noms d'accès d'utilisateur corrects existent automatiquement dans les deux bases de données master. Cela simplifie la configuration de sécurité de la base de données et est recommandé.

  • Si les instances partenaires s'exécutent sous des comptes d'utilisateur différents, les noms d'accès d'utilisateur sur l'instance du serveur principal doivent être reproduits manuellement sur l'instance du serveur miroir. Pour éviter des utilisateurs orphelins après un changement de rôle, vous devez maintenir systématiquement le même jeu de noms d'accès d'utilisateur sur les bases de données principale et miroir. Toutefois, si des utilisateurs étaient orphelins après un changement de rôle, vous pouvez définir leurs noms d'accès à ce moment.

Création d'un nom d'accès pour un autre compte

Si deux instances de serveur s'exécutent sous des comptes différents, l'administrateur système doit utiliser l'instruction Transact-SQL CREATE LOGIN afin de créer un nom d'accès pour le compte du service de démarrage de l'instance distante dans la table syslogins de la base de données master de chaque instance de serveur. Pour plus d'informations, consultez CREATE LOGIN (Transact-SQL).

Important

Si vous exécutez SQL Server sous un compte qui n'appartient pas à un domaine, vous devez utiliser des certificats. Pour plus d'informations, consultez Utilisation de certificats pour la mise en miroir de bases de données.

Par exemple, pour que l'instance de serveur sqlA, qui s'exécute sous loginA, se connecte à l'instance de serveur sqlB, qui s'exécute sous loginB, loginA doit figurer dans la table syslogins sur sqlB et loginB doit figurer dans la table syslogins sur sqlA. En outre, pour une session de mise en miroir de bases de données comprenant une instance du serveur témoin (sqlC) et dans laquelle les trois instances de serveur s'exécutent sous des comptes de domaine différents, les noms d'accès suivants doivent être créés :

Sur l'instance...

Créez des noms d'accès pour et accordez des autorisations de connexion à...

sqlA

sqlB et sqlC

sqlB

sqlA et sqlC

sqlC

sqlA et sqlB

Notes

Il est possible de se connecter au compte de service réseau en utilisant le compte d'ordinateur plutôt qu'un utilisateur de domaine. Si le compte d'ordinateur est utilisé, il doit être ajouté en tant qu'utilisateur sur l'autre instance de serveur.

Attribution d'une autorisation de connexion

Après avoir créé un nom d'accès sur une instance de serveur, vous devez lui accorder l'autorisation de se connecter au point de terminaison de mise en miroir de bases de données de l'instance de serveur. L'administrateur système accorde l'autorisation de connexion à l'aide d'une instruction Transact-SQL GRANT. Pour plus d'informations, consultez GRANT (Transact-SQL).

Notes

Pour plus d'informations sur ce point de terminaison, consultez Point de terminaison de mise en miroir de bases de données.