Top Banner
5.2 MIGRACION DE BASES DE DATOS 1.- tener instalados ambos sistemas de bases de datos. 2.- Terminada la instalación vamos al Panel de Control->Herramientas Administrativas->Origenes de Datos(ODBC) y aparecerá una ventana como esta: 3.- Vamos a la pestaña "DSN de archivo" (como se ve en la imagen anterior) y una vez aquí, click en agregar, llegaremos a la siguiente ventana: 4.- En la lista que tenemos, seleccionamos "MySQL ODBC 5.1 Driver" y click en siguiente. Aparecerá una ventana para escribir la ruta donde queremos guardar nuestra conexión, le damos a examinar y por defecto estara en una carpeta llamada "Data Source", ponemos un nombre y la guardamos en esa carpeta como se ve en la siguiente imagen:
17

5 2 migracion de bases de datos

Feb 21, 2023

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 5 2 migracion de bases de datos

5.2 MIGRACION DE BASES DE DATOS

1.- tener instalados ambos sistemas de bases de datos.2.- Terminada la instalación vamos al Panel de Control->HerramientasAdministrativas->Origenes de Datos(ODBC) y aparecerá una ventana comoesta:

3.- Vamos a la pestaña "DSN de archivo" (como se ve en la imagen anterior) y una vez aquí, click en agregar, llegaremos a la siguiente ventana:

4.- En la lista que tenemos, seleccionamos "MySQL ODBC 5.1 Driver" yclick en siguiente. Aparecerá una ventana para escribir la ruta dondequeremos guardar nuestra conexión, le damos a examinar y por defectoestara en una carpeta llamada "Data Source", ponemos un nombre y laguardamos en esa carpeta como se ve en la siguiente imagen:

Page 2: 5 2 migracion de bases de datos

5.- Al presionar guardar, volveremos a la ventana donde pedía escribir laruta, pero esta vez con al ruta escrita, click sigueiente y llegamos auna ventana de confirmación, donde damos click en finalizar. Con estovolveremos a la ventana donde entramos para agregar la conexión, esta vezcon la conexion ya creada.

6.- Seleccionamos la conexión y le damos click en Configurar, aparecerauna vetana como esta:

7.- Llenamos los datos que nos piden:Server: Es la dirección donde se encuentra su base de datos, en ese caso,como estamos usando un servidor local, la direccion es"Localhost". User: El usuario que nos permite el acceso a la base dedatos.Password: La contraseña del Usuario. Database: En este lugar

Page 3: 5 2 migracion de bases de datos

debemos escribir el nombre de la base de datos a la que nos vamos aconectar.

8.- Para confirmar que todo este correcto, click en Test, si todo estabien aparecera una ventana como esta:

9.- Con esto ya tenemos creada nuestra conexión, ahora vamos a usarla.Entramos a nuestra base de datos en Access y vamos al menu Base de Datos,abajo apareceran las tablas de su base de datos, Click derecho en laprimera y vamos a Exportar->Base de Datos OBDC.

10.- Al hacer esto, nos preguntara el nombre con el que guardaremos latabla en MySQL, es recomendable mantener el mismo:

En esta ventana se le da el nombre a la tabla, con este nombre seguardara en MySQL (que se llame igual que la base de datos es solocoincidencia). Click en Aceptar.

11.- Nos llevara a una ventana donde debemos escoger que conexionusaremos:

Page 4: 5 2 migracion de bases de datos

12.- Seleccionamos la conexión que creamos recién y click en aceptar, unaventana de confirmación nos avisara que la tabla fue migrada con exito.

13.- Repetimos el proceso con todas las tablas, el contenido de estas setraspasa automaticamente junto con ellas, no asi las relaciones o lostipos de claves.

Al terminar con nuestras tablas ya tenemos nuestra base de dato migradade Access a MySQL.

Tomando en cuenta que ya se tienen instalados los servidores de MySQL ySQL Server, lo primero que tenemos que realizar es descargar el softwarenecesario:Connector/ODBC  SSMA for MySQL v5.2 Configurar Conector/ODBCUna vez instalado el Conector/ODBC nos dirigimos a Panel de Control --->Herramientas Administrativas -->Orígenes de Datos ODBC.

Page 5: 5 2 migracion de bases de datos

En la Siguiente ventana procedemos a configurar los parámetros deconexión del servidor MySQL.

Data Source Name: es el nombre con el identificaremos  este origende datos. Description: permite agregar una pequeña descripción que nosdetalle para que utilizamos este DSN.  TCP/IP Server: aquí definiremos la IP del servidor así como elpuerto que se ocupa para conectarse a MySQL. User: usuario con el cual nos conectaremos. Password: la contraseña del usuario. Database: la base de datos que utilizaremos.

Podemos probar si los parámetros ingresados con correctos  dando clic en el botón “Test”, una vez verificado esto damos clic en el botón “ok”.Y ya tendremos configurado el acceso a nuestro servidor MySQL desde ODBC.

Configurar SSMA para la Migración.El primer paso es  crear un nuevo proyecto File---> New Project.   

Page 6: 5 2 migracion de bases de datos

En esta ventana definiremos el nombre de nuestro proyecto así como laruta donde lo guardaremos y lo más importante la versión de SQL Server ala cual nos conectaremos.El siguiente paso es crear las conexiones para MySQL y SQL Server para locual vamos a File --->Connect to MySQL.

Aquí definiremos los parámetros de conexión.

Provider: Es el controlador ODBC para MySQL, que es el que acabamosde instalar. Server Name: es la dirección IP de nuestro servidor. Server Port: el puerto de conexión de MySQL. User name: nombre de usuario así como su contraseña.Lo mismo procedemos a realizar con SQL Server

Page 7: 5 2 migracion de bases de datos

Definimos los parámetros correspondientes:Server name: la IP de nuestro servidor, asi como el nombre de lainstancia  a la cual nos queremos conectar.La base de datos que vamos a utilizar asi como nombre de usuario ycontraseña.Al finalizar tendremos como resultado la siguiente ventana, donde podemosobservar que se ha establecido de forma correcta la conexiones a ambosservidores.

A continuación  procedemos  seleccionar la base de datos que queremos  migrar, para esto en SQL Server ya debe existir una base de datos a dondese pueden colocar todos los objetos.

Y lo primero que debemos de realizar es  convertir el esquema para locual  vamos a Tools---> Convert Schema, una vez que termina verificamos

que no hayan errores.

Page 8: 5 2 migracion de bases de datos

Y des pues procedemos a sincronizar  el esquema con la base de datos, para esto vamos a Tools---> Synchronize with Database, aparece la siguiente ventana y damos clic en el botón “ok” para continuar.

Ya solo resta migrar los datos Tools--->Migrate Data, vuelve a pedir losparámetros de conexión tanto para el servidor MySQL como SQL Server ycomienza el proceso de migración.

El finalizar manda una ventana  con el resumen de la migración.

Page 9: 5 2 migracion de bases de datos

Paso 1: Generar un respaldo de la ESTRUCTURA de la base de datos MySQLEl primer paso para migrar nuestra base de datos MySQL a PostgreSQL es generar una copia de seguridad mediante mysqldumpde la siguiente forma:

CODE: SELECCIONAR TODO1. $mysqldump -u [usuario] -p [base_de_datos]  --no-data > 

[archivo_salida].sql

Donde: [usuario] el el nombre de usuario con el que accedemos a la base de

datos (usualmente root) [base_de_datos] es el nombre de la base de datos que vamos a migrar

(en este caso la base de datos de ejemplo World). [archivo_salida] es el nombre de nuestro archivo de salida que

contendrá los comandos SQL generados por mysqldump El parametro -p es para que musqldump nos pregunte por la contraseña

del usuario, si no hay contraseña de base de datos entonces obviar este parametro.

El parametro --no-data omitirá los datos, por que sólo necesitamos laestructura de las tablas, una vez migrada la estructura seguimos con los datos mas adelante.

El comando se vería de la siguiente forma:

CODE: SELECCIONAR TODO1. $mysqldump -u root -p world  --no-data > world-mysql.sql

Paso 2: Traducir SQL de MySQL a SQL de PostgresSQL utilizando mysql2pgsql.perlmysql2pgsql.perl es un script escrito en Perl que "traduce" la sintaxis del código SQL de MySQL a un SQL que pueda entender PostgreSQL, es muy fácil de usar:

CODE: SELECCIONAR TODO1. $perl mysql2pgsql.perl [opciones] sql_formato_mysql.sql

sql_formato_postgresql.sql

Para nuestro caso, el comando que ejecutamos es:

CODE: SELECCIONAR TODO1. $perl mysql2pgsql.perl --nodrop world-mysql.sql world-

postgresql.sql

Donde:La opción --nodrop hace que el script no incluya los comandos DROP TABLE antes de crear las tablas.

Page 10: 5 2 migracion de bases de datos

Paso 3: Volcar la estructura de las tablas a PostgreSQLEste paso también es muy sencillo, lo podemos hacerlo mediante la linea de comando:

CODE: SELECCIONAR TODO1. $su postgres

2. createdb world

3. psql -f world_postgresql.sql -u usuario-db word

Paso 4: Volcar los datos de MySQL a PostgreSQLYa casi todo esta listo, ahora solo nos queda migrar los datos. Al igual que en el paso 1, tenemos que sacar un respaldo pero esta vez solamente de los datos sin la creación de la estructura de las tablas, para ellos utilizamos el siguiente comando:

CODE: SELECCIONAR TODO1. $mysqldump -u root -p world --no-create-info --complete-insert 

--skip-add-locks > world-mysql-data.sql

Donde: --no-create-info Omite los scripts de creación de tabla (no las

necesitamos) --complete-insert Hace que los comandos INSERT contengan también los

nombres de las columnas, PostgreSQL no permite comandos INSERT sin los nombres de las columnas.

--skip-add-locks omite el comando LOCK TABLE ... ese comando también es diferente en PostgreSQL.

Es probable que tengas problemas con el caracter `, para ello vamos a reemplazar el caracter con la doble comilla " utilizando:

CODE: SELECCIONAR TODO1. $sed -i 's/`/'"'/g' world-mysql-data.sql

Una vez listo el archivo que contiene los datos, los volcamos a PostgreSQL, al igual que el paso 3:

CODE: SELECCIONAR TODO1. $su postgres

Page 11: 5 2 migracion de bases de datos

2. psql -f world_mysql-data.sql -u usuario-db word

5.3.1 MonitoreoEl MySQL Instance Manager (IM), es el demonio que corre en el puerto TCP/IP, el cual provee monitoreo y administración de las instancias del servidor de datos MySQL. MySQL Instance Manager está disponible para sistemas operativos basados en Unix. MySQL Instance Manager se incluye en las distribuciones de MySQLdesde la versión 5.0.3, y puede usarse en lugar del script mysqld_safe para arrancar y parar MySQL Server, incluso desde una máquina remota. MySQL Instance Manager implementa la funcionalidad (y la mayoría de la sintaxis) del script mysqld_multi. El típico ciclo de arranque/cierre para un servidor MySQL con elMySQL Instance Manager habilitado es como sigue: El MySQL Instance Manager se arranca con el script /etc/init.d/mysql. El MySQL Instance Manager arranca todas las instancias y las monitoriza. Si una instancia de un servidor cae, el MySQL Instance Managerla reinicia. Si el MySQL Instance Manager se cierra (por ejemplo con el comando /etc/init.d/mysql stop), todas las instancias se apagan con el MySQL Instance Manager.

5.3.1.1 Monitoreo general de un DBMS

Page 12: 5 2 migracion de bases de datos

El Sistema de Privilegios de Acceso de MySQL Qué Hace el Sistema de Privilegios La función primaria del sistema de privilegios de MySQL es autenticar un usuario conectándose desde un equipo dado, y asociar dicho usuario con privilegios en una base de datos talescomo SELECT, INSERT, UPDATE, y DELETE. Funcionalidad adicional incluye la habilidad de tener usuarios anónimos y de dar privilegios para funciones específicas de MySQL tales como LOAD DATA INFILE y operaciones administrativas.Cómo Funciona el Sistema de Privilegios El sistema de privilegios de MySQL asegura que todos los usuarios pueden ejecutar sólo la operación permitida a los mismos. Como usuario, cuando se conecta a un servidor MySQL, la identidad se determina mediante el equipo desde el que se conecta y el nombre de usuario que se especifique. Cuando se efectúen peticiones tras conectar, el sistema otorga privilegiosacorde a la identidad y lo que se quiera hacer. MySQL considera tanto el nombre de usuario y el equipo a la horade identificar, ya que no hay razón para asumir que un nombre deusuario pertenece a la misma persona en cualquier sitio de Internet. Por ejemplo, el usuario joe que conecta desde office.com no tiene porqué ser la misma persona que el usuario joe que conecta desde elsewhere.com. MySQL trata esto permitiendo distinguir usuarios en diferentes equipos que tienenel mismo nombre. Se puede otorgar un conjunto de privilegios para conexiones de joe desde office.com, y un conjunto distinto para conexiones de joe desde elsewhere.com. El control de acceso de MySQL implica dos etapas

El servidor comprueba si debe permitir la conexión. Asumiendo que se conecta, el servidor comprueba cada comando que se ejecuta para ver si tiene suficientes permisos para hacerlo. Por ejemplo, si se intenta seleccionar registros de unatabla en una base de datos o eliminar una tabla de la base de datos, el servidor verifica que se tenga el permiso SELECT para la tabla o el permiso DROP para la base de datos. Si los permisos cambian mientras se está conectado, estos cambios no tienen porqué tener efecto inmediatamente para el siguiente comando que se ejecute.

Page 13: 5 2 migracion de bases de datos

El servidor guarda información de privilegios en las tablas de permisos de la base de datos mysql (esto es, en la base de datosllamada mysql). El servidor MySQL lee el contenido de dichas tablas en memoria cuando arranca y las vuelve a leer nuevamente cada vez que se conecta el cliente. Las decisiones acerca de control de acceso se basan en las copias en memoria de las tablas de permisos.

5.4 Herramientas administrativas

SQL Server 2008 R2

Herramienta de SQLServer Herramienta de SQL Server actual

Analizador de consultasEditor de código de SQL Server Management Studio. Vea Escribir, analizar y modificar scripts con SQL Server Management Studio.

Administrador corporativo

SQL Server Management Studio. Vea Usar SQL Server Management Studio

Herramienta de red de servidor Administrador de configuración de SQL Server

Herramienta de red de cliente Administrador de configuración de SQL Server

Administrador de servicios Administrador de configuración de SQL Server

Asistente para optimización de índices

Asistente para la optimización de motor de base de datos. Vea Diferencias entre el Asistente para la optimización de motor de base de datos y el Asistente para optimización de índices.

Herramientas de Microsoft SQL Server:

SQL Server Management StudioSQL Server Management Studio (SSMS) se iba a llamar originalmente SQL

Page 14: 5 2 migracion de bases de datos

Workbench, pero otro proveedor de bases de datos ya tenía una herramientade gestión con ese nombre – es por eso que el nombre del archivo en SQL Server 2005 era sqlwb.exe. SSMS se puede usar para la gestión y desarrollo de bases de datos. Permite la gestión no solo del sistema de base de datos del SQL Server, sino también de los programas SQL Server Analysis Services, SQL Server Reporting Services y SQL Server IntegrationServices – todo desde una sola aplicación. De lado del desarrollo del producto, se puede usar para escribir consultas contra el programa de base de datos de SQL Server usando Transact-SQL (T-SQL) así como el programa SQL Server Analysis Services usando MDX, DMX o XMLA, dependiendode las necesidades del desarrollador.

SSMS nació de dos herramienta diferentes disponibles en SQL Server 2000 yversiones más antiguas: Enterprise Manager y Query Analyzer (“Administrador de Empresas” y “Analizador de Consultas” respectivamente). Estas herramientas anteriores estaban separadas en Enterprise Manager para la gestión de base de datos y Query Analyzer parael desarrollo de base de datos. Comparadas con el SSMS de hoy, estas herramientas carecían de funcionalidad. Enterprise Manager era una combinación del panel de Object Explorer con la vista Object Explorer Details del SSMS de hoy. Query Analyzer contenía un explorador de objetosmuy básico combinado con una ventana de consulta que permitía ejecutar instrucciones T-SQL.

SSMS es más que una simple herramienta de consultas, que es para lo que muchas personas la usan. Permite ejecutar una consulta contra un único servidor, y se pueden ejecutar consultas contra servidores múltiples al seleccionar una carpeta de la ventana de Servidores Registrados y haciendo clic en Nueva Consulta. La consulta también se ejecutará contra todos los servidores de esa carpeta a la vez. También puede usar la función de depurador – no lo haga para servidores de producción – que le permite involucrarse en la ejecución del código contra el servidor. Esto permite que las variables se puedan inspeccionar y que se verifiquen las rutas de acceso de los códigos.

Business Intelligence Development StudioBusiness Intelligence Development Studio (Estudio de Desarrollo de Inteligencia de Negocios), o BIDS, es justo lo que parece ser; es una plataforma de desarrollo para inteligencia empresarial (BI). Paquetes ETL(extraer, transformar, cargar, según sus siglas en inglés) para SQL Server Integration Services, informes para SQL Server Reporting Services

Page 15: 5 2 migracion de bases de datos

o cubos para SQL Server Analysis Services – BIDS es donde ocurre toda esta programación. Es simplemente un complemento plug-in para el entorno de desarrollo Visual Studio, lo que permite una plataforma de desarrollo con muchas características para que trabaje el desarrollador de BI.

Al trabajar con SQL Server Integration Service (SSIS), por ejemplo, se muestra un cuadro de herramientas que contiene todos los objetos que SSISadmite. Simplemente arrastrar el objeto del cuadro de herramientas a la superficie de diseño permite al programador diseñar y construir con rapidez y facilidad poderosos procesos de ETL que pueden usar como fuentey destino no solo Microsoft SQL Server, sino también cualquier base de datos potenciada por ODBC, así como archivos de Microsoft Office y archivos de texto.

SQL Server Data ToolsSQL Server Data Tools (SSDT) es el bebé de las herramientas nativas de SQL Server. SSDT, que se descarga de forma separada pero que está disponible de manera gratuita, es una herramienta de desarrollo de bases de datos, diseñada para permitir un desarrollo de bases de datos fácil y rápido en el entorno integrado de desarrollo Visual Studio, al cual estánacostumbrados la mayoría de desarrolladores de aplicaciones. Una de las características principales es el editor de tablas, que permite editar enel editor visual, de forma muy similar al editor de tablas en SSMS, pero también muestra las instrucciones T-SQL que crearían la misma tabla. Esasinstrucciones T-SQL también se pueden cambiar y el editor GUI se actualizará en tiempo real.

Otra gran característica de SSDT es la habilidad de trabajar para el programa de base de datos SQL Server así como la Base de Datos SQL de Windows Azure, el servicio de base de datos en la nube de Microsoft. El editor permite usar solo las características disponibles en la versión a la que apunta. Por ejemplo, si estuviera conectado con una instancia Azure, no podría usar la sintaxis de partición de tablas. Junto a esto está el soporte nativo de IntelliSense, que muestra solo las características para la versión correcta del programa de base de datos y soporta versiones de programas de bases de datos que se remontan hasta SQL Server 2005, mucho más que lo que alcanza el soporte de IntelliSense de SSMS.

Page 16: 5 2 migracion de bases de datos

Herramientas administrativas de MySQL

Algunas utilidades accesibles desde la ventana principal del programa son:

Service control: Inicio y detención de servidores (sólo accesible si se ha conectado con un servidor MySQL en la máquina local). Startup variables: Configuración del servidor y las variables de inicio (sólo accesible si se ha conectado con un servidor MySQL en la máquina local). User Administration: Para la gestión de usuarios y permisos. Server conections: Visualiza y gestiona las conexiones abiertas con el servidor de bases de datos. Health: Información sobre la carga del servidor Server Logs: El historial de logs del servidor. Replication Status: Con información de los sistemas replicados. Backup: Para hacer una copia de seguridad de las bases de datos. Restore: Para restaurar las copias de seguridad. Catalogs: Para mostrar las bases de datos, visualizar, crear y editar lastablas.

Herramientas administrativas de PostgreSQL➢ PHPPgAdminPHPPgAdmin es un poderosa herramienta de administración basada en un interfaz Web para bases de datos PostgreSQL. Además de la funcionalidad básica, dispone de soporte para procedimientos almacenados, triggers y vistas.Las versiones de punta van mano a mano con el desarrollo del servidor PostgreSQL.Esta versión es una de la mas famosa de los administradores GUI para PostgreSQL.

Page 17: 5 2 migracion de bases de datos

➢ PSQLEs la herramienta canónica para la ejecución de sentencias SQL a través del shell del SOEs una herramienta de tipo frontend que permite describir sentencias SQL,ejecutarlas y visualizar sus resultados.El método de ingreso puede ser mediante la inserción directa del código en la consola, o la ejecución de sentencias dentro de un archivo de textoProvee de diversos meta-comandos para la ejecución de las sentencias, asícomo diversas opciones tipo shell propias de la herramienta

PgExplorerPgExplorer es una herramienta de desarrollo para Postgres con una amplia interfaz gráfica.Entre sus características se incluye un vista en árbol de las bases de datos y sus respectivos objetos.Se puede realizar ingeniería inversa a través de sentenciasSQL o scripts personalizados.Hay una amplia gama de asistentes que guían a través del proceso necesario para generar comandos SQL para varios objetos y sentencias.También incluye un Diseñador de Consultas Gráfico

➢ PgAdmin3Es una interfaz comprensible para el diseño y administración de una base de datos PostgreSQL, diseñada para ejecutarse en la mayoría de los Sistemas Operativos.La aplicación corre bajo GNU/Linux, FreeBSD y Windows 2000/XPLa interfaz gráfica soporta todas las características de PostgreSQL y facilita la administración