Uso de Microsoft SQL Server como origen para AWS SCT - AWS Schema Conversion Tool

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso de Microsoft SQL Server como origen para AWS SCT

Puede usar AWS SCT para convertir esquemas, objetos de código de bases de datos y código de aplicación de SQL Server a los siguientes destinos:

  • Amazon RDS para MySQL

  • Amazon Aurora MySQL-Compatible Edition

  • Amazon RDS para PostgreSQL

  • Amazon Aurora PostgreSQL-Compatible Edition

  • Amazon RDS para SQL Server

  • Amazon RDS para MariaDB

nota

AWS SCT no admite el uso de Amazon RDS para SQL Server como origen.

Puede utilizar AWS SCT para crear un informe de evaluación para la migración de esquemas, objetos de código de base de datos y código de aplicación de SQL Server a Babelfish para Aurora PostgreSQL, tal y como se describe a continuación.

Privilegios para Microsoft SQL Server como origen

Los privilegios necesarios para Microsoft SQL Server como origen son los siguientes:

  • VIEW DEFINITION

  • VIEW DATABASE STATE

El privilegio VIEW DEFINITION permite a los usuarios que tienen acceso público ver las definiciones de objetos. AWS SCT utiliza el privilegio VIEW DATABASE STATE para comprobar las características de la edición SQL Server Enterprise.

Repita la concesión para cada base de datos cuyo esquema vaya a convertir.

Además, conceda los siguientes privilegios en la base de datos master:

  • VIEW SERVER STATE

  • VIEW ANY DEFINITION

AWS SCT utiliza el privilegio VIEW SERVER STATE para recopilar los ajustes y la configuración del servidor. Asegúrese de conceder el privilegio VIEW ANY DEFINITION para ver los puntos de conexión.

Para leer información sobre Microsoft Analysis Services, ejecute el siguiente comando en la base de datos master.

EXEC master..sp_addsrvrolemember @loginame = N'<user_name>', @rolename = N'sysadmin'

En el ejemplo anterior, sustituya el marcador de posición <user_name> por el nombre del usuario al que concedió anteriormente los privilegios.

Para leer información sobre el Agente SQL Server, agregue su usuario al rol SQLAgentUser. Ejecute el siguiente comando en la base de datos msdb.

EXEC sp_addrolemember <SQLAgentRole>, <user_name>;

En el ejemplo anterior, sustituya el marcador de posición <SQLAgentRole> por el nombre del rol del Agente SQL Server. A continuación, sustituya el marcador de posición <user_name> por el nombre del usuario al que concedió anteriormente los privilegios. Para obtener más información, consulte Agregar un usuario al rol de SQLAgentUser en la Guía del usuario de Amazon RDS.

Para detectar el envío de registros, conceda el privilegio SELECT on dbo.log_shipping_primary_databases en la base de datos de msdb.

Para utilizar el enfoque de notificación de la replicación del DDL, conceda el privilegio RECEIVE ON <schema_name>.<queue_name> en las bases de datos de origen. En este ejemplo, sustituya el marcador de posición <schema_name> por el nombre del esquema de la base de datos. A continuación, sustituya el marcador de posición <queue_name> por el nombre de una tabla de colas.

Uso de la autenticación de Windows al utilizar Microsoft SQL Server como origen

Si la aplicación se ejecuta en una intranet basada en Windows, es posible que pueda utilizar la autenticación de Windows para el acceso a las bases de datos. La autenticación de Windows utiliza la identidad de Windows actual establecida en el subproceso de sistema operativo para obtener acceso a la base de datos de SQL Server. A continuación, puede mapear la identidad de Windows a una base de datos de SQL Server y sus permisos. Para conectarse a SQL Server con la autenticación de Windows, debe especificar la identidad de Windows que utiliza la aplicación. También debe conceder a la identidad de Windows acceso a la base de datos de SQL Server.

SQL Server tiene dos modos de acceso: autenticación de Windows y mixto. El modo de autenticación de Windows habilita dicha autenticación y deshabilita la de SQL Server. El modo mixto habilita tanto la autenticación de Windows como la de SQL Server. La autenticación de Windows siempre está disponible y no se puede deshabilitar. Para obtener más información acerca de la autenticación de Windows, consulte la documentación de Microsoft Windows.

El ejemplo posible para crear un usuario en TEST_DB se muestra a continuación.

USE [TEST_DB] CREATE USER [TestUser] FOR LOGIN [TestDomain\TestUser] GRANT VIEW DEFINITION TO [TestUser] GRANT VIEW DATABASE STATE TO [TestUser]

Usar la autenticación de Windows con una conexión JDBC

El controlador JDBC no admite la autenticación de Windows si dicho controlador se utiliza en sistemas operativos que no son de Windows. Las credenciales de autenticación de Windows, como el nombre de usuario y la contraseña, no se especifican de forma automática al conectarse a SQL Server desde sistemas operativos que no son de Windows. En estos casos, las aplicaciones deben utilizar la autenticación de SQL Server.

En la cadena de conexión de JDBC, debe especificarse el parámetro integratedSecurity para conectarse mediante la autenticación de Windows. El controlador JDBC admite la autenticación de Windows integrada para los sistemas operativos de Windows a través del parámetro de cadena de conexión integratedSecurity.

Para usar la autenticación integrada

  1. Instale el controlador JDBC.

  2. Copie el archivo sqljdbc_auth.dll en un directorio de la ruta de sistema de Windows en el equipo donde está instalado el controlador JDBC.

    Los archivos sqljdbc_auth.dll se instalan en la ubicación siguiente:

    <directorio de instalación>\sqljdbc_<versión>\<idioma>\auth\

Cuando intenta establecer una conexión con una base de datos de SQL Server con la autenticación de Windows, es posible que aparezca este error: Este controlador no está configurado para la autenticación integrada. Este problema se puede resolver con las siguientes acciones:

  • Declare dos variables que apunten a la ruta instalada de JDBC:

    variable name: SQLJDBC_HOME; variable value: D:\lib\JDBC4.1\enu (donde reside su archivo sqljdbc4.jar);

    variable name: SQLJDBC_AUTH_HOME; variable value: D\lib\JDBC4.1\enu\auth\x86 (si está ejecutando un sistema operativo de 32 bits) o D\lib\JDBC4.1\enu\auth\x64 (si está ejecutando un sistema operativo de 64 bits). Aquí es donde reside su archivo sqljdbc_auth.dll.

  • Copie sqljdbc_auth.dll en la carpeta donde se está ejecutando JDK/JRE. Puede copiarlo en la carpeta lib, la carpeta bin, etc. Como ejemplo, es posible que copie en la siguiente carpeta.

    [JDK_INSTALLED_PATH]\bin; [JDK_INSTALLED_PATH]\jre\bin; [JDK_INSTALLED_PATH]\jre\lib; [JDK_INSTALLED_PATH]\lib;
  • Asegúrese de que en la carpeta de bibliotecas JDBC,solo tiene el archivo SQLJDBC4.jar. Quite otros archivos sqljdbc*.jar de esa carpeta (o cópielos en otra carpeta). Si va a agregar el controlador como parte de su programa, asegúrese de que agrega solo SQLJDBC4.jar como el controlador que se utilizará.

  • Copie el archivo sqljdbc_auth.dll en la carpeta con su aplicación.

nota

Si ejecuta una máquina virtual de Java (JVM) de 32 bits, utilice el archivo sqljdbc_auth.dll de la carpeta x86, incluso si la versión del sistema operativo es x64. Si ejecuta una JVM de 64 bits en un procesador x64, utilice el archivo sqljdbc_auth.dll de la carpeta x64.

Al conectarse a una base de datos de SQL Server, puede elegir Autenticación de Windows o Autenticación de SQL Server en la opción Autenticación.

Conectar a SQL Server como origen

Utilice el siguiente procedimiento para conectarse a su base de datos Microsoft SQL Server de origen con la AWS Schema Conversion Tool.

Para conectarse a una base de datos de Microsoft SQL Server de origen
  1. En AWS Schema Conversion Tool, seleccione Agregar origen.

  2. Elija Microsoft SQL Server y, a continuación, elija Siguiente.

    Se abrirá el cuadro de diálogo Agregar origen.

  3. En Nombre de conexión, escriba un nombre para su base de datos. AWS SCT muestra este nombre en el árbol del panel izquierdo.

  4. Utilice las credenciales de la base de datos de AWS Secrets Manager o introdúzcalas manualmente:

    • Para usar las credenciales de base de datos de Secrets Manager, siga las instrucciones siguientes:

      1. En Secreto de AWS, elija el nombre del secreto.

      2. Seleccione Rellenar para rellenar automáticamente todos los valores del cuadro de diálogo de conexión a la base de datos de Secrets Manager.

      Para obtener información sobre el uso de las credenciales de bases de datos de Secrets Manager, consulteUtilizar AWS Secrets Manager.

    • Para introducir manualmente la información de conexión a la base de datos de origen de Microsoft SQL Server, siga las instrucciones siguientes:

      Parámetro Acción
      Server name

      Escriba el nombre del servicio de nombres de dominio (DNS) o la dirección IP del servidor de base de datos de origen.

      Puede conectarse a la base de datos de SQL Server de origen a través de un protocolo de direcciones IPv6. Para ello, utilice corchetes para escribir la dirección IP, tal y como se muestra en el siguiente ejemplo.

      [2001:db8:ffff:ffff:ffff:ffff:ffff:fffe]
      Server port

      Escriba el puerto utilizado para conectarse al servidor de base de datos de origen.

      Instance name

      Escriba el nombre de la instancia de la base de datos de SQL Server. Para encontrar el nombre de la instancia, ejecute la consulta SELECT @@servername; en su base de datos de SQL Server.

      Autenticación

      Elija el tipo de autenticación entre Autenticación de Windows y Autenticación de SQL Server.

      User name y Password

      Introduzca las credenciales de la base de datos para conectarse al servidor de base de datos de origen.

      AWS SCT utiliza la contraseña para conectarse a la base de datos de origen solo cuando decide conectarse a la base de datos en un proyecto. Para evitar que la contraseña de su base de datos de origen quede expuesta, AWS SCT no la almacena por defecto. Si cierra su proyecto de la AWS SCT y vuelve a abrirlo, se le solicitará la contraseña para conectarse a su base de datos de origen, según sea necesario.

      Use SSL

      Seleccione esta opción para utilizar capa de sockets seguros (SSL) para conectarse a su base de datos. Proporcione la siguiente información adicional, según proceda, en la pestaña SSL:

      • Trust Server Certificate: seleccione esta opción para confiar en el certificado del servidor.

      • Trust Store: la ubicación de un almacén de confianza que contenga certificados. Para que esta ubicación aparezca en la sección Configuración global, asegúrese de agregarla.

      Store Password

      La AWS SCT crea un almacén seguro para almacenar certificados SSL y contraseñas de la base de datos. Puede habilitar esta opción para almacenar la contraseña de la base de datos y conectarse rápidamente a la base de datos sin necesidad de introducir la contraseña.

      Sql Server Driver Path

      Escriba la ruta al controlador que va a usar para conectarse a la base de datos de origen. Para obtener más información, consulte Descarga de los controladores de base de datos necesarios.

      Si almacena la ruta al controlador en la configuración global del proyecto, la ruta del controlador no aparecerá en el cuadro de diálogo de conexión. Para obtener más información, consulte Almacenamiento de rutas a los controladores en la configuración global.

      Windows Authentication library

      Introduzca la ruta del archivo sqljdbc_auth.dll. De forma predeterminada, este archivo se instala en la siguiente ubicación:

      <installation directory of the JDBC driver>sqljdbc_<version>\<language>\auth\

  5. Seleccione Probar la conexión para verificar que AWS SCT pueda conectarse a su base de datos de origen.

  6. Seleccione Conectar para conectarse a su base de datos de origen.