Compartir a través de


Generar informes en bases de datos escaladas horizontalmente en la nube (versión preliminar)

Se aplica a:Azure SQL Database

Importante

La consulta elástica en el modo de administrador de mapas de fragmentos (particionamiento horizontal), usando el tipo EXTERNAL DATA SOURCESHARD_MAP_MANAGER, llegará al final del soporte el 31 de marzo de 2027. Después de esta fecha, las cargas de trabajo existentes seguirán funcionando, pero ya no recibirán soporte técnico y la creación de nuevos orígenes de datos externos de tipo SHARD_MAP_MANAGER ya no será posible. Para ver las opciones de migración, consulte la Guía de migración del modo de administrador del mapa de fragmentos de consultas elásticas.

Puede crear informes de varias bases de datos desde un único punto de conexión mediante una consulta elástica. Las bases de datos deben ser particionadas horizontalmente (también conocidas como "fragmentadas").

Si tiene una base de datos, consulte Migración de bases de datos existentes para el escalado horizontal.

Para comprender los objetos SQL necesarios para realizar consultas, consulte Creación de informes entre bases de datos en la nube escaladas horizontalmente (versión preliminar).

Requisitos previos

Descargue y ejecute get started with Elastic Database Tools (Introducción a Elastic Database Tools).

Creación de un administrador de mapas de particiones con la aplicación de ejemplo

Aquí crearás un administrador de mapas de fragmentos junto con varios fragmentos, seguido de la inserción de datos en ellos. Si ya tiene particiones configuradas con datos particionados en ellos, puede omitir los pasos siguientes y pasar a la sección siguiente.

  1. Compile y ejecute la aplicación de ejemplo Introducción a las herramientas de Elastic Database siguiendo los pasos descritos en la sección del artículo Descarga y ejecución de la aplicación de ejemplo. Una vez completados todos los pasos, verá el siguiente indicador de comandos:

    Captura de pantalla del símbolo del sistema del kit de inicio de herramientas de Base de datos elástica

  2. En la ventana de comandos, escriba 1 y presione Entrar. De esta forma, se creará el administrador de mapas de particiones y se agregarán dos particiones al servidor. A continuación, escriba 3 y presione Entrar; repita la acción cuatro veces. Esto inserta filas de datos de ejemplo en sus fragmentos.

  3. Azure Portal debería mostrar tres nuevas bases de datos en el servidor:

    Captura de pantalla de la confirmación de Visual Studio para crear tres bases de datos.

    En este momento, se admiten las consultas entre bases de datos a través de las bibliotecas de cliente de Elastic Database. Por ejemplo, use la opción 4 en la ventana de comandos. Los resultados de una consulta de varias particiones son siempre una UNION ALL de los resultados de todas las particiones.

    En la siguiente sección, crearemos un punto de conexión de la base de datos de ejemplo que admite consultas más avanzadas de los datos a través de las particiones.

Crear una base de datos de consulta elástica

  1. Abra Azure Portal e inicie sesión.

  2. Cree una nueva base de datos de Azure SQL Database en el mismo servidor que la configuración de la partición. Asigne un nombre a la base de datos ElasticDBQuery.

    Puede usar una base de datos existente. Si puede hacerlo, no debe ser uno de los fragmentos en los que desee ejecutar sus consultas. Esta base de datos se usa para crear los objetos de metadatos para una consulta de base de datos elástica.

Creación de objetos de base de datos

Clave maestra y credenciales específicas del ámbito de base de datos

Se utilizan para conectarse al administrador de mapas de fragmentos y a los fragmentos:

  1. Abra SQL Server Management Studio o SQL Server Data Tools en Visual Studio.

  2. Conéctese a la ElasticDBQuery base de datos y ejecute los siguientes comandos de T-SQL:

    CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<master_key_password>';
    
    CREATE DATABASE SCOPED CREDENTIAL ElasticDBQueryCred
    WITH IDENTITY = '<username>',
    SECRET = '<password>';
    

    Tanto "nombre de usuario" como "contraseña" deben ser la información de inicio de sesión que creó en los pasos anteriores.

Orígenes de datos externos

Para crear un origen de datos externo, ejecute el siguiente comando en la ElasticDBQuery base de datos:

CREATE EXTERNAL DATA SOURCE MyElasticDBQueryDataSrc WITH
    (TYPE = SHARD_MAP_MANAGER,
    LOCATION = '<server_name>.database.windows.net',
    DATABASE_NAME = 'ElasticScaleStarterKit_ShardMapManagerDb',
    CREDENTIAL = ElasticDBQueryCred,
    SHARD_MAP_NAME = 'CustomerIDShardMap'
) ;

CustomerIDShardMap es el nombre del mapa de particiones, en caso de que haya creado el mapa de particiones y el gestor del mapa de particiones utilizando el ejemplo de las herramientas de bases de datos elásticas. Sin embargo, si utilizaste tu configuración personalizada para este ejemplo, debe ser el nombre del mapa de fragmentos que elegiste en tu aplicación.

Tablas externas

Cree una tabla externa que coincida con la tabla Clientes en las particiones ejecutando el siguiente comando en la base de datos ElasticDBQuery:

CREATE EXTERNAL TABLE [dbo].[Customers]
( [CustomerId] [int] NOT NULL,
    [Name] [nvarchar](256) NOT NULL,
    [RegionId] [int] NOT NULL)
WITH
( DATA_SOURCE = MyElasticDBQueryDataSrc,
    DISTRIBUTION = SHARDED([CustomerId])
) ;

Ejecute una consulta de T-SQL de ejemplo de base de datos elástica

Una vez que haya definido el origen de datos externo y las tablas externas, use T-SQL para consultar las tablas externas.

Ejecute esta consulta en la ElasticDBQuery base de datos:

select count(CustomerId) from [dbo].[Customers];

Observará que la consulta agrega los resultados de todos los fragmentos y proporciona el siguiente resultado.

Detalles de salida.

Importación de los resultados de la consulta de base de datos elástica a Excel

Puede importar los resultados de una consulta a un archivo Excel.

  1. Inicie Microsoft Excel.
  2. Diríjase a la barra de herramientas Datos .
  3. Seleccione From Other Sources (Desde otros orígenes) y seleccione From SQL Server (Desde SQL Server).
  4. En el Asistente para conexión de datos, escriba el nombre del servidor y las credenciales de inicio de sesión. Luego, selecciona Siguiente.
  5. En el cuadro de diálogo Seleccione la base de datos que contiene los datos que desea, seleccione la ElasticDBQuery base de datos.
  6. Seleccione la Customers tabla en la vista de lista y seleccione Siguiente. A continuación, seleccione Finalizar.
  7. En el formulario Importar datos, en Seleccione cómo desea ver estos datos en su libro de trabajo, seleccione Tabla. Selecciona Aceptar.

Todas las filas de Customers la tabla, almacenadas en particiones diferentes rellenan la hoja de Excel.

Ahora puede usar las funciones de visualización de datos decisivas de Excel. Puede usar la cadena de conexión con el nombre del servidor, el nombre de la base de datos y las credenciales para conectar las herramientas de integración de datos y BI a la base de datos de consultas elásticas. Asegúrese de que SQL Server se admite como origen de datos para la herramienta. Puede consultar la base de datos de consulta elástica y las tablas externas como cualquier otra base de datos SQL Server y las tablas de SQL Server que quiera conectar con la herramienta.

Coste

No hay ningún cargo adicional por usar la característica Elastic Database Query.

Para obtener información sobre los precios, consulte Detalles de precios de SQL Database.