DocumentDB - SQL Server

Los archivos JSON son un ajuste natural y es posible que se puedan importar tal cual a DocumentDB. Sin embargo, importar desde una base de datos relacional como SQL Server va a requerir algún tipo de transformación, lo que significa que de alguna manera necesitamos cerrar la brecha entre los datos normalizados en SQL Server y su representación desnormalizada en DocumentDB.

Echemos un vistazo a un ejemplo sencillo en el que veremos cómo la herramienta de migración puede importar desde una base de datos de SQL Server. En este ejemplo, importaremos datos de la base de datos AdventureWorks 2014. AdventureWorks es una base de datos de muestra popular que puede descargar de CodePlex siguiendo los siguientes pasos.

Step 1 - Ir a https://www.codeplex.com/

Step 2 - Busque AdventureWorks 2014 en el cuadro de búsqueda.

Step 3 - Elija la versión recomendada para las bases de datos de muestra.

La descarga más fácil de elegir es la recomendada, que es la copia de seguridad completa de la base de datos.

Step 4 - Haga clic y guarde el archivo zip en cualquier carpeta y extraiga el archivo zip que contiene el archivo de copia de seguridad de la base de datos.

Step 5 - Abra SQL Server Management Studio, conéctese a mi instancia local de SQL Server y restaure la copia de seguridad.

Step 6- Haga clic con el botón derecho en Bases de datos → Restaurar base de datos. Haga clic en el botón 'examinar'.

Verá la siguiente ventana.

Step 7 - Haga clic en el botón 'Agregar'.

Step 8- Examine el archivo de respaldo de la base de datos y haga clic en Aceptar. Luego, OK una vez más y se apaga la restauración.

Tenemos una restauración exitosa.

Bueno, esta es una base de datos grande, y seguramente hay muchas tablas, así que echemos un vistazo a las Vistas.

Esto parece un poco más manejable y la mayoría de estas vistas funcionan uniendo varias tablas relacionadas, así que echemos un vistazo a esta llamada vStoreWithAddresses, que se define en el esquema de Ventas.

Estamos seleccionando desde la vista, que une todas las tablas, y estamos filtrando por AddressType, que nos da solo las Oficinas principales.

SELECT 
   CAST(BusinessEntityID AS varchar) AS [id], 
   Name AS [name], 
   AddressType AS [address.addressType], 
   AddressLine1 AS [address.addressLine1], 
   City AS [address.location.city], 
   StateProvinceName AS [address.location.stateProvinceName], 
   PostalCode AS [address.postalCode], 
   CountryRegionName AS [address.countryRegionName] 
FROM 
   Sales.vStoreWithAddresses 
WHERE 
   AddressType='Main Office'

Cuando se ejecuta la consulta anterior, recibirá el siguiente resultado.

Iniciemos la herramienta de migración de la versión GUI.

Step 1 - En la página de bienvenida, haga clic en 'Siguiente' para la página de información de la fuente.

Step 2 - Seleccione SQL en el menú desplegable y especifique la cadena de conexión de la base de datos.

Step 3 - Haga clic en el botón 'Verificar'.

Si especifica la cadena de conexión correcta, mostrará el mensaje de éxito.

Step 4 - Ingrese la consulta que desea importar.

Step 5 - Haga clic en 'Siguiente'.

Step 6 - Especifique la Cadena de conexión de su cuenta de DocumentDB que se puede encontrar en el Portal de Azure.

Step 7 - Especifique la Cadena de conexión principal y no olvide agregar el nombre de la base de datos al final de la cadena de conexión.

Step 8 - Especifique las colecciones a las que desea agregar los archivos JSON.

Step 9 - Haga clic en Opciones avanzadas y desplácese hacia abajo en la página.

Step 10 - Especifique la política de indexación, digamos la política de indexación de rango.

Step 11 - Haga clic en 'Siguiente' para continuar.

Step 12 - Haga clic en 'Siguiente' nuevamente para continuar.

Step 13 - Aquí puede ver el resumen, ahora haga clic en el botón 'Importar'.

Comenzará a importar datos. Una vez que esté completo, podrá verlo en Azure Portal.