Quiero migrar los inicios de sesión y las contraseñas de SQL Server entre dos instancias de Amazon Relational Database (Amazon RDS) para Microsoft SQL Server. O bien, quiero migrar los inicios de sesión desde o hacia un entorno local.
Solución
Nota: Para obtener instrucciones sobre cómo duplicar el inicio de sesión del usuario principal, consulta ¿Cómo puedo duplicar o clonar mis permisos de inicio de sesión de usuario de RDS para SQL Server?
Migración de los inicios de sesión de SQL Server de una instancia de RDS para SQL Server a otra
Para migrar los inicios de sesión y las contraseñas a una nueva instancia de RDS de destino, sigue estos pasos:
- Crea una instantánea de la instancia de origen.
- Usa un nombre diferente en la instancia de destino para restaurar la instantánea.
- Elimina los inicios de sesión y las bases de datos que no sean necesarios.
Para migrar los inicios de sesión a una instancia de RDS de destino existente, completa los pasos de la siguiente sección.
Migración de los inicios de sesión de RDS para SQL Server a un entorno local
Nota: Debes introducir manualmente las contraseñas en las siguientes resoluciones. No puedes recuperar una contraseña cifrada para iniciar sesión directamente desde RDS.
Opción 1
- Crea el procedimiento almacenado sp_help_revlogins en cualquier base de datos de usuario. Para ver el script de procedimiento almacenado, consulta el Método 2 de Transferir inicios de sesión y contraseñas entre instancias de SQL Server (en el sitio web de Microsoft).
- Ejecuta el procedimiento almacenado para crear scripts para iniciar sesión en la instancia de origen.
Nota: Al crear el procedimiento almacenado en la base de datos principal, se produce el siguiente error:
"Msg 262, Level 14, State 18, Procedure sp_hexadecimal, Line 1 [Batch Start Line 5]CREATE PROCEDURE permission denied in database 'master'"
Para evitar este error, crea el procedimiento en una base de datos de usuarios. Tras crear los inicios de sesión en la instancia de destino, restablece la contraseña para evitar que no coincidan.
Opción 2
Para crear manualmente los inicios de sesión o usar Microsoft SQL Server Management Studio (SSMS) para crear scripts para los inicios de sesión, sigue estos pasos:
- Abre el soporte de seguridad en SSMS y, a continuación, expándelo.
- Selecciona los inicios de sesión y, a continuación, pulsa la tecla F7. O bien, selecciona Detalles del explorador de objetos en el menú Ver.
- Mantén presionada la tecla Ctrl para seleccionar los inicios de sesión que deseas migrar.
- Tras seleccionar los inicios de sesión necesarios, selecciona la pantalla (haz clic con el botón derecho). A continuación, selecciona Script Iniciar sesión como para abrir una nueva ventana de consulta.
- Copia el script de creación de inicio de sesión. A continuación, sustituye las contraseñas para ejecutar el script en la instancia de destino. Para ver el script de procedimiento almacenado, consulta el Método 1 de Transferir inicios de sesión y contraseñas entre instancias de SQL Server (en el sitio web de Microsoft).
Migración de los inicios de sesión y las contraseñas de un entorno local a RDS para SQL Server
En el servidor de origen (local), completa los pasos siguientes:
- Genera el script de creación de inicio de sesión para todos los inicios de sesión del servidor local. Para ver el script de procedimiento almacenado, consulta el Método 2 de Transferir inicios de sesión y contraseñas entre instancias de SQL Server (en el sitio web de Microsoft).
- Tras crear el procedimiento almacenado, abre una nueva ventana de T-SQL. A continuación, usa el siguiente comando para ejecutar el procedimiento almacenado.
Nota: Antes de ejecutar el script, pulsa Ctrl+T en el teclado para asegurarte de que los resultados están en formato de texto.
EXEC [sp_help_revlogin]
El resultado de esta consulta proporciona el script para crear los inicios de sesión que tienen el SID y la contraseña originales en el servidor de destino.
En el servidor de destino, completa los pasos siguientes:
- Usa la cuenta de usuario principal para conectarte a la instancia de RDS para SQL Server.
- Ejecuta el script que generaste en el paso 2 (salida de sp_help_revlogin) en la sección En el servidor de origen (local).
Nota: No puedes conceder acceso de administrador de sistemas a los inicios de sesión en RDS. Por lo tanto, al migrar los inicios de sesión que tienen privilegios de administrador del sistema a RDS, no se les concede acceso automáticamente. Debes conceder explícitamente el permiso requerido para esos inicios de sesión.
Para obtener una lista de los permisos disponibles para los usuarios de RDS, consulta Privilegios de la cuenta de usuario principal.
Solución de problemas con los permisos de la cuenta principal
Búsqueda del nombre de usuario principal
- Abre la consola de Amazon Aurora y RDS.
- En el panel de navegación, selecciona Bases de datos.
- Elige la instancia de base de datos de RDS para la que deseas el nombre de usuario principal.
- Abre la pestaña Configuración. El nombre de usuario principal aparece en la sección Disponibilidad.
Restablecimiento de la contraseña del usuario principal o restauración de los permisos del usuario principal
Para obtener información sobre cómo restablecer la contraseña del usuario principal, consulta ¿Cómo puedo restablecer la contraseña del usuario principal de mi instancia de base de datos de Amazon RDS?