Comment créer et synchroniser des connexions SQL et Windows sur un réplica en lecture Amazon RDS for SQL Server ?

Lecture de 3 minute(s)
0

Amazon Relational Database Service (Amazon RDS) for Microsoft SQL Server : les réplicas en lecture reproduisent de manière asynchrone les modifications apportées à l'instance principale. Mes identifiants ne sont pas synchronisés lorsque je crée une instance. Je souhaite créer et synchroniser les connexions lorsque je crée une instance.

Résolution

Créer une connexion SQL sur l'instance principale et synchroniser la connexion avec un réplica en lecture

Les instances de moteur de base de données authentifient les connexions au serveur SQL et stockent les mots de passe de connexion dans la base de données principale. Vous pouvez mapper les connexions SQL à un utilisateur de base de données dans une base de données ou à différents utilisateurs dans différentes bases de données. Les connexions et les utilisateurs génèrent un ID d’instruction (SID) unique. Lorsque vous synchronisez les connexions sur le réplica en lecture, assurez-vous que le SID de connexion correspond au SID de l'instance principale.

Pour créer une connexion SQL sur l'instance principale et synchroniser la connexion avec un réplica en lecture, procédez comme suit :

  1. Exécutez la requête suivante sur l'instance principale pour créer une connexion SQL Server nommée testlogin :

    USE [master]  
    GO  
    CREATE LOGIN [testlogin] WITH PASSWORD=N'Pa$$word';
  2. Exécutez la requête suivante sur l'instance principale pour confirmer que vous avez créé testlogin sur l'instance principale :

    SELECT name FROM sys.sql_logins WHERE name = 'testlogin';
  3. Exécutez la requête suivante sur l'instance principale pour trouver le SID correspondant à testlogin :

    SELECT name, sid  FROM sys.sql_logins WHERE name = 'testlogin';

    Exemple de sortie :

    name                           sid  
    -------------------------------------------------------------------------------  
    testlogin                      0xEBF23823BDEAED42823C76C8706F4B6B
  4. Exécutez la requête suivante sur le réplica de lecture pour créer une nouvelle connexion nommée testlogin qui correspond au SID de l'instance principale :

    CREATE Login testlogin  WITH password = N'Pa$$word', SID = 0xEBF23823BDEAED42823C76C8706F4B6B;
  5. Exécutez la requête suivante sur le réplica en lecture pour confirmer que vous avez créé la nouvelle connexion avec le même SID que l'instance principale :

    SELECT name, sid  FROM sys.sql_logins WHERE name = 'testlogin';

Créer une connexion Windows sur une instance principale et un réplica en lecture

Les connexions SQL Server authentifiées par Windows sont des connexions au niveau de l'instance dans lesquelles le système d'exploitation gère l'authentification. Vous pouvez mapper les connexions Windows au compte AWS d'un utilisateur, à un groupe de sécurité local ou à un compte de domaine.

Pour créer une connexion Windows sur l'instance principale et le réplica en lecture, procédez comme suit :

  1. Exécutez la requête suivante sur l'instance principale pour créer un identifiant Windows nommé SQLAD\user1 :

    CREATE LOGIN [SQLAD\user1] FROM WINDOWS  
    WITH DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english]  
    GO
  2. Exécutez la commande suivante sur le réplica en lecture pour créer un identifiant nommé SQLAD\user1 :

    CREATE LOGIN [SQLAD\user1] FROM WINDOWS  
    WITH DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english]  
    GO

Remarque : Amazon RDS ne fournit pas d'autorisations de haut niveau sur une base de données principale. Vous ne pouvez donc pas utiliser les procédures de stockage sp_help_revlogin ou sp_hexadecimal fournies par Microsoft pour générer des connexions dans Amazon RDS.