Comment déplacer des utilisateurs de SQL Server d'une instance de RDS pour SQL Server vers une autre ou vers un environnement local à partir de RDS ?

Lecture de 5 minute(s)
0

Je souhaite migrer les identifiants et les mots de passe SQL Server entre deux instances Amazon Relational Database (Amazon RDS) pour Microsoft SQL Server. Je souhaite également migrer des connexions depuis ou vers un environnement sur site.

Résolution

Remarque : Pour obtenir des instructions sur la duplication du nom de connexion de l'utilisateur principal, consultez la section Comment puis-je dupliquer ou cloner mes autorisations de connexion utilisateur de RDS pour SQL Server ?

Migrer les connexions SQL Server d'une instance RDS pour SQL Server vers une autre

Pour migrer les identifiants et les mots de passe vers une nouvelle instance RDS cible, procédez comme suit :

  1. Créez un instantané de l'instance source.
  2. Utilisez un nom différent sur l'instance cible pour restaurer le snapshot.
  3. Supprimez les identifiants et les bases de données qui ne sont pas nécessaires.

Pour migrer les connexions vers une instance RDS cible existante, suivez les étapes décrites dans la section suivante.

Migrer les connexions depuis RDS pour SQL Server vers un environnement sur site

**Remarque :**Vous devez saisir manuellement les mots de passe dans les résolutions suivantes. Vous ne pouvez pas récupérer un mot de passe crypté pour les connexions directement depuis RDS.

Option 1

  1. Créez la procédure sp_help_revlogins sur n'importe quelle base de données utilisateur. Pour le script de procédure stockée, consultez la méthode 2 de la section Transférer les identifiants et les mots de passe entre les instances de SQL Server (sur le site Web de Microsoft).
  2. Exécutez la procédure stockée pour créer des scripts de connexion sur l'instance source.

Remarque : La création de la procédure stockée dans la base de données principale provoque l'erreur suivante :

"Msg 262, Level 14, State 18, Procedure sp_hexadecimal, Line 1 [Batch Start Line 5]CREATE PROCEDURE permission denied in database 'master'"

Pour éviter cette erreur, créez la procédure sur une base de données utilisateur. Après avoir créé les connexions dans l'instance cible, réinitialisez le mot de passe afin d'éviter toute incompatibilité entre les mots de passe.

Option 2

Pour créer manuellement les connexions ou pour utiliser Microsoft SQL Server Management Studio (SSMS) pour créer des scripts de connexion, procédez comme suit :

  1. Ouvrez le compartiment de sécurité dans SSMS, puis agrandissez-le.
  2. Sélectionnez les identifiants, puis appuyez sur la touche F7. Vous pouvez également choisir les détails de l'explorateur d'objets dans le menu Affichage.
  3. Appuyez sur la touche Ctrl et maintenez-la enfoncée pour sélectionner les connexions que vous souhaitez migrer
  4. Après avoir sélectionné les identifiants requis, choisissez (cliquez avec le bouton droit) sur l'écran. Choisissez ensuite Script Login as pour ouvrir une nouvelle fenêtre de requête.
  5. Copiez le script de création de connexion. Remplacez ensuite les mots de passe pour exécuter le script sur l'instance de destination. Pour le script de procédure stockée, consultez la méthode 1 de la section Transférer les identifiants et les mots de passe entre les instances de SQL Server (sur le site Web de Microsoft).

Migrer les identifiants et les mots de passe d'un environnement local vers RDS pour SQL Server

Sur le serveur source (local), procédez comme suit :

  1. Générez le script de création de connexion pour toutes les connexions à partir du serveur local. Pour le script de procédure stockée, consultez la méthode 2 de la section Transférer les identifiants et les mots de passe entre les instances de SQL Server (sur le site Web de Microsoft).
  2. Après avoir créé la procédure stockée, ouvrez une nouvelle fenêtre T-SQL. Utilisez ensuite la commande suivante pour exécuter la procédure stockée.

Remarque : Avant d'exécuter le script, appuyez sur Ctrl+T sur votre clavier pour vous assurer que les résultats sont au format texte.

EXEC [sp_help_revlogin]

Cette sortie de requête fournit le script permettant de créer les connexions comportant le SID et le mot de passe d'origine sur le serveur de destination.

Sur le serveur de destination, procédez comme suit :

  1. Utilisez le compte utilisateur principal pour vous connecter à l'instance RDS pour SQL Server.
  2. Exécutez le script que vous avez généré à l'étape 2 (sortie de sp_help_revlogin) dans la section Sur le serveur source (local).

Remarque : Vous ne pouvez pas accorder à l'administrateur système l'accès aux connexions dans RDS. Ainsi, lorsque vous migrez les connexions dotées de privilèges sysadmin vers RDS, l'accès ne leur est pas automatiquement accordé. Vous devez explicitement accorder l'autorisation requise pour ces connexions.
Pour obtenir la liste des autorisations disponibles pour les utilisateurs de RDS, consultez la section Privilèges du compte utilisateur principal.

Résoudre les problèmes liés aux autorisations du compte principal

Trouvez votre nom d'utilisateur principal

  1. Ouvrez la console RDS.
  2. Dans le volet de navigation, choisissez Bases de données.
  3. Choisissez l'instance de base de données RDS pour laquelle vous souhaitez obtenir le nom d'utilisateur principal.
  4. Ouvrez l'onglet Configuration. Le nom d'utilisateur principal est répertorié dans la section Disponibilité.

Réinitialisez le mot de passe de l'utilisateur principal ou restaurez les autorisations de l'utilisateur principal

Pour plus d'informations sur la réinitialisation du mot de passe de l'utilisateur principal, consultez la section Comment réinitialiser le mot de passe de l'utilisateur principal pour mon instance de base de données Amazon RDS ?