Connect Microsoft SQL Servers con AWS Schema Conversion Tool - 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.

Connect Microsoft SQL Servers con AWS Schema Conversion Tool

Puede utilizarlos AWS SCT para convertir esquemas, objetos de código de base de datos y código de aplicaciones del SQL servidor a los siguientes destinos:

  • Amazon RDS para mi SQL

  • Edición SQL compatible con Amazon Aurora My

  • Amazon RDS para Postgre SQL

  • Amazon Aurora Edición compatible con Postgre SQL

  • Amazon RDS para SQL servidores

  • Amazon RDS para MariaDB

nota

AWS SCT no admite el uso de Amazon RDS for SQL server como fuente.

Puede usarlo 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, como se describe a continuación.

Privilegios para Microsoft SQL Server como fuente

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

  • VIEW DEFINITION

  • VIEW DATABASE STATE

El VIEW DEFINITION privilegio permite a los usuarios que tienen acceso público ver las definiciones de objetos. AWS SCT utiliza el VIEW DATABASE STATE privilegio para comprobar las funciones 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 VIEW SERVER STATE privilegio 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 de SQL servidor, añada su usuario al SQLAgentUser rol. Ejecute el siguiente comando en la base de datos msdb.

EXEC sp_addrolemember <SQLAgentRole>, <user_name>;

En el ejemplo anterior, sustituya el <SQLAgentRole> marcador de posición por el nombre del rol de agente de SQL servidor. 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, consulta Cómo añadir un usuario al SQLAgentUser rol en la Guía del RDS usuario de Amazon.

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 DDL replicación, conceda el RECEIVE ON <schema_name>.<queue_name> privilegio en sus 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 cuando se utiliza Microsoft SQL Server como fuente

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 del sistema operativo para acceder a la base de datos SQL del servidor. A continuación, puede asignar la identidad de Windows a una base de datos y permisos SQL del servidor. Para conectarse al SQL servidor mediante 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 SQL del servidor.

SQLEl servidor tiene dos modos de acceso: el modo de autenticación de Windows y el modo mixto. El modo de autenticación de Windows habilita la autenticación de Windows y desactiva la autenticación SQL del servidor. El modo mixto permite la autenticación de Windows y la autenticación SQL de servidor. 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.

A continuación se muestra un posible ejemplo de creación de un usuario en TEST _DB.

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

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

El JDBC controlador no admite la autenticación de Windows cuando se utiliza en sistemas operativos que no son Windows. Las credenciales de autenticación de Windows, como el nombre de usuario y la contraseña, no se especifican automáticamente al conectarse al SQL servidor desde sistemas operativos que no son Windows. En esos casos, las aplicaciones deben utilizar en su lugar la autenticación SQL del servidor.

En la cadena de JDBC conexión, se integratedSecurity debe especificar el parámetro para conectarse mediante la autenticación de Windows. El JDBC controlador admite la autenticación de Windows integrada en los sistemas operativos Windows mediante el parámetro de cadena de integratedSecurity conexión.

Para usar la autenticación integrada

  1. Instale el controlador JDBC.

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

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

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

Al intentar establecer una conexión a la base de datos SQL del servidor mediante 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 de instalación de suJDBC:

    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.

  • Copia sqljdbc_auth.dll a la carpeta en la que JRE se ejecuta tuJDK/. 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 la JDBC biblioteca solo tenga el SQLJDBC4 archivo.jar. Quite otros archivos sqljdbc*.jar de esa carpeta (o cópielos en otra carpeta). Si va a añadir el controlador como parte de su programa, asegúrese de añadir únicamente SQLJDBC4 .jar como controlador que va a utilizar.

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

nota

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

Al conectarse a una base de datos de SQL servidor, puede elegir entre Autenticación de Windows o Autenticación de SQLservidor como opción de autenticación.

Conectarse al SQL servidor como fuente

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

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

  2. Selecciona Microsoft SQL Server y, a continuación, selecciona 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. Usa las credenciales de la base de datos de AWS Secrets Manager o introdúcelas manualmente:

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

      1. En AWSSecreto, 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, consulteConfigurando AWS Secrets Manager en el AWS Schema Conversion Tool.

    • 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
      Nombre del servidor

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

      Puede conectarse a la base de datos SQL del servidor de origen mediante un protocolo de IPv6 direcciones. 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]
      Puerto del servidor

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

      Nombre de instancia

      Introduzca el nombre de la instancia para la base de datos SQL del servidor. Para encontrar el nombre de la instancia, ejecuta la consulta SELECT @@servername; en la base de datos SQL del servidor.

      Autenticación

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

      Nombre de usuario y Contraseña

      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 se exponga la contraseña de la base de datos de origen, AWS SCT no guarda la contraseña de forma predeterminada. Si cierra el AWS SCT proyecto y lo vuelve a abrir, se le solicitará la contraseña para conectarse a la base de datos de origen según sea necesario.

      Utilice SSL

      Elija esta opción para usar Secure Sockets Layer (SSL) para conectarse a la base de datos. Proporcione la siguiente información adicional, según corresponda, en la SSLpestaña:

      • Certificado de servidor de confianza: seleccione esta opción para confiar en el certificado del servidor.

      • Almacén de confianza: 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 añadirla.

      Almacenar contraseña

      AWS SCT crea una bóveda segura para almacenar los SSL certificados y las contraseñas de las bases 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.

      Ruta al controlador de Sql Server

      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 Instalación de JDBC controladores para AWS Schema Conversion Tool.

      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.

      Biblioteca de autenticación de Windows

      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. Elija Probar conexión para comprobar que AWS SCT puede conectarse a la base de datos de origen.

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