Uso compartido y recepción de datos de Azure SQL Database y Azure Synapse Analytics

SE APLICA A: Azure SQL Database Azure Synapse Analytics (anteriormente Azure SQL DW) Grupo de SQL de Azure Synapse Analytics (área de trabajo)

Azure Data Share permite compartir instantáneas de datos de forma segura desde los recursos Azure SQL Database y Azure Synapse Analytics, a otras suscripciones de Azure. Incluir suscripciones de Azure fuera del inquilino.

En este artículo se describe el uso compartido de datos de Azure SQL Database y Azure Synapse Analytics.

Este artículo le guiará a través de:

Puede usar la tabla de contenido para pasar a la sección que necesita o continuar con este artículo para seguir el proceso de principio a fin.

Image showing the data flow between data owners and data consumers.

Elementos compatibles

Compartir datos

Azure Data Share admite el uso compartido de instantáneas de datos completos de varios SQL en Azure. Actualmente no se admiten las instantáneas incrementales.

Tipo de recurso Compartir tablas Compartir vistas
Azure SQL Database
Azure Synapse Analytics (anteriormente Azure SQL DW)
Grupo de SQL dedicado de Synapse Analytics (área de trabajo) No

Nota:

Actualmente, Azure Data Share no admite el uso compartido desde estos recursos:

  • Grupo de SQL de Azure Synapse Analytics (área de trabajo)
  • Base de datos de Azure SQL con Always Encrypted configurado

Recibir datos

Los consumidores de datos pueden optar por aceptar datos compartidos en varios recursos de Azure:

  • Azure Data Lake Storage Gen2
  • Azure Blob Storage
  • Azure SQL Database
  • Azure Synapse Analytics

Los datos compartidos en Azure Data Lake Storage Gen 2 o Azure Blob Storage pueden almacenarse como un archivo csv o parquet. Las instantáneas de datos completos sobrescriben el contenido del archivo de destino si ya existe.

Los datos compartidos Azure SQL Database y Azure Synapse Analytics se almacenan en tablas. Si la tabla de destino aún no existe, Azure Data Share crea la tabla SQL con el esquema de origen. Si ya existe una tabla de destino con el mismo nombre, se descartará y se sobrescribirá con la instantánea completa más reciente.

Nota:

En el caso de las tablas SQL de origen con enmascaramiento dinámico de datos, los datos aparecerán enmascarados en el lado del destinatario.

Tipos de datos admitidos

Al compartir datos de un origen SQL, se usan las siguientes asignaciones de tipos de datos SQL Server a tipos de datos provisionales Azure Data Share durante el proceso de instantánea.

Nota:

  1. En el caso de los tipos de datos que se asignan al tipo decimal provisional, la instantánea actualmente admite una precisión de hasta 28. Si tiene datos que requieren una precisión mayor que 28, considere la posibilidad de convertir a una cadena.
  2. Si va a compartir datos de Azure SQL Database en Azure Synapse Analytics, no se admiten todos los tipos de datos. Vea Tipos de datos de tabla en el grupo de SQL dedicado para obtener información.
Tipos de datos de SQL Server Tipo de datos provisional de Azure Data Share
bigint Int64
binary Byte[]
bit Boolean
char String, Char[]
date DateTime
Datetime DateTime
datetime2 DateTime
Datetimeoffset DateTimeOffset
Decimal Decimal
FILESTREAM attribute (varbinary(max)) Byte[]
Float Double
imagen Byte[]
int Int32
money Decimal
NCHAR String, Char[]
ntext String, Char[]
NUMERIC Decimal
NVARCHAR String, Char[]
real Single
rowversion Byte[]
smalldatetime DateTime
SMALLINT Int16
SMALLMONEY Decimal
sql_variant Object
text String, Char[]
time TimeSpan
timestamp Byte[]
TINYINT Int16
UNIQUEIDENTIFIER Guid
varbinary Byte[]
varchar String, Char[]
Xml Cadena

Requisitos previos para compartir datos

Para compartir instantáneas de datos desde los recursos de Azure SQL, primero debe preparar el entorno. Necesitará:

Requisitos previos específicos del origen

También hay requisitos previos para compartir que dependen de dónde vienen los datos. Seleccione el origen del recurso compartido de datos y siga estos pasos:

Requisitos previos para el uso compartido desde Azure SQL Database o Azure Synapse Analytics (anteriormente Azure SQL DW)

Puede usar uno de estos métodos para autenticarse con Azure SQL Database o Azure Synapse Analytics (anteriormente Azure SQL DW):

Autenticación de Microsoft Entra

Estos requisitos previos cubren la autenticación que necesitará para que Azure Data Share pueda conectarse con Azure SQL Database:

  • Necesitará permiso para escribir en las bases de datos del servidor SQL: Microsoft.Sql/servers/databases/write. Este permiso existe en el rol de colaborador.
  • Permisos de Administración de Microsoft Entra de SQL Server.
  • Acceso al firewall de SQL Server:
    1. En Azure Portal, vaya al servidor de SQL. Seleccione Firewalls y redes virtuales en el panel de navegación izquierdo.
    2. Seleccione en Permitir que los servicios y recursos de Azure accedan a este servidor.
    3. Seleccione +Agregar IP de cliente. La dirección IP del cliente puede cambiar, por lo que es posible que tenga que agregar la dirección IP del cliente de nuevo la próxima vez que comparta datos desde el portal.
    4. Seleccione Guardar.

Autenticación SQL

Puede seguir el vídeo de demostración paso a paso para configurar la autenticación o completar cada uno de estos requisitos previos:

  • Permiso para escribir en las bases de datos del servidor SQL: Microsoft.Sql/servers/databases/write. Este permiso existe en el rol de colaborador.

  • Permiso para que la Azure Data Share administrada del recurso tenga acceso a la base de datos:

    1. En Azure Portal, vaya a SQL Server y establézcalo como Microsoft Entra Administración.

    2. Conectar a Azure SQL Database/Data Warehouse mediante el Editor de Power Query o SQL Server Management Studio con la autenticación de Microsoft Entra.

    3. Ejecute el siguiente script para agregar la identidad administrada del recurso de Data Share como db_datareader. Conéctese mediante Active Directory y no la autenticación de SQL Server.

      create user "<share_acct_name>" from external provider;     
      exec sp_addrolemember db_datareader, "<share_acct_name>"; 
      

      Nota:

      <share_acc_name> es el nombre del recurso de Data Share.

  • Un usuario de Azure SQL Database con acceso "db_datareader" para navegar y seleccionar las tablas o vistas que desea compartir.

  • Acceso al firewall de SQL Server:

    1. En el Azure Portal, vaya al servidor SQL. Seleccione Firewalls y redes virtuales en el panel de navegación izquierdo.
    2. Seleccione en Permitir que los servicios y recursos de Azure accedan a este servidor.
    3. Seleccione +Agregar IP de cliente. La dirección IP del cliente puede cambiar, por lo que es posible que tenga que agregar la dirección IP del cliente de nuevo la próxima vez que comparta datos desde el portal.
    4. Seleccione Guardar.

Requisitos previos para el uso compartido desde el grupo de SQL de Azure Synapse Analytics (área de trabajo)

  • Permiso para escribir en el grupo de SQL en el área de trabajo de Synapse: Microsoft.Synapse/workspaces/sqlPools/write. Este permiso existe en el rol de colaborador.

  • Permiso para que la identidad administrada del recurso de Data Share tenga acceso al grupo de SQL del área de trabajo de Synapse:

    1. En Azure Portal, vaya a su área de trabajo de Synapse. Seleccione Administrador de SQL Active Directory en el panel de navegación izquierdo y establézcalo como administrador de Microsoft Entra.

    2. Abra el Synapse Studio, seleccione Administrar en el panel de navegación izquierdo. En Seguridad, seleccione Control de acceso. Debe asignarse el rol de administrador de SQL o administrador del área de trabajo.

    3. Seleccione Desarrollar en el panel de navegación izquierdo de la Synapse Studio. Ejecute el siguiente script en el grupo de SQL para agregar la identidad administrada del recurso de Data Share como db_datareader.

      create user "<share_acct_name>" from external provider;     
      exec sp_addrolemember db_datareader, "<share_acct_name>"; 
      

      Nota:

      <share_acc_name> es el nombre del recurso de Data Share.

  • Acceso al firewall del área de trabajo de Synapse:

    1. En el Azure Portal, vaya al área de trabajo de Synapse. Seleccione Firewalls en el panel de navegación izquierdo.
    2. En Permitir que los servicios y recursos de Azure accedan a esta área de trabajo, seleccione Activado.
    3. Seleccione +Agregar IP de cliente. La dirección IP del cliente puede cambiar, por lo que es posible que tenga que agregar la dirección IP del cliente de nuevo la próxima vez que comparta datos desde el portal.
    4. Seleccione Guardar.

Creación de un recurso compartido

  1. Vaya a la página de información general de Azure Data Share.

    Screenshot showing the data share overview.

  2. Seleccione Start sharing your data (Empezar a compartir datos).

  3. Seleccione Crear.

  4. Rellene los detalles del recurso compartido. Especifique un nombre, un tipo de recurso compartido, una descripción del contenido de los recursos compartidos y las condiciones de uso (opcional).

    Screenshot of the share creation page in Azure Data Share, showing the share name, type, description, and terms of used filled out.

  5. Seleccione Continuar.

  6. Para agregar conjuntos de datos al recurso compartido, seleccione Agregar conjuntos de datos.

    Screenshot of the datasets page in share creation, the add datasets button is highlighted.

  7. Seleccione el tipo de conjunto de datos que desea agregar. Habrá una lista diferente de tipos de conjunto de datos en función del tipo de recurso compartido (instantánea o local) que seleccionó en el paso anterior.

    Screenshot showing the available dataset types.

  8. Seleccione el área de trabajo de SQL Server o Synapse. Si usa la autenticación de Microsoft Entra y la casilla Permitir que Data Share ejecute el script SQL de "crear usuario" anterior en mi nombre , active la casilla. Si usa la autenticación SQL, proporcione las credenciales y asegúrese de que ha seguido los requisitos previos para tener permisos.

    Seleccione Siguiente para ir al objeto que quiere compartir y elija "Agregar conjuntos de datos". Puede seleccionar tablas y vistas de Azure SQL Database y Azure Synapse Analytics (anteriormente Azure SQL DW) o tablas del grupo de SQL dedicado de Azure Synapse Analytics (área de trabajo).

    Screenshot showing the Azure SQL Database dataset window with a SQL server selected.

  9. En la pestaña Destinatarios, escriba las direcciones de correo electrónico del consumidor de datos, para lo que debe seleccionar "+ Add Recipient" (+ Agregar a destinatario). La dirección de correo electrónico debe ser el correo electrónico de inicio de sesión de Azure del destinatario.

    Screenshot of the recipients page, showing a recipient added.

  10. Seleccione Continuar.

  11. Si ha seleccionado el tipo de recurso compartido de instantáneas, puede configurar la programación de instantáneas para proporcionar actualizaciones de los datos al consumidor de datos.

    Screenshot of the settings page, showing the snapshot toggle enabled.

  12. Seleccione una hora de inicio y un intervalo de periodicidad.

  13. Seleccione Continuar.

  14. En la pestaña Revisar y crear, examine el contenido del paquete, la configuración, los destinatarios y la configuración de la sincronización. Seleccione Crear.

Azure Data Share se ha creado y el destinatario de Data Share ahora puede aceptar la invitación.

Requisitos previos para recibir datos

Para poder aceptar una invitación de recurso compartido de datos, debe preparar el entorno.

Confirme que se han completado todos los requisitos previos antes de aceptar una invitación de recurso compartido de datos:

También hay requisitos previos para el recurso donde se almacenarán los datos recibidos. Seleccione el tipo de recurso y siga estos pasos:

Requisitos previos de la cuenta de almacenamiento de destino

Si decide recibir datos en Azure Storage, complete estos requisitos previos antes de aceptar un recurso compartido de datos:

  • Una cuenta de Azure Storage.
  • Permiso para escribir en la cuenta de almacenamiento: Microsoft.Storage /storageAccounts/write. Este permiso existe en el rol de colaborador.
  • Permiso para agregar la asignación de roles de la identidad administrada del recurso de Data Share a la cuenta de almacenamiento, que se encuentra en Microsoft.Authorization/role assignments/write. Este permiso existe en el rol de propietario.

Requisitos previos para recibir datos en Azure SQL Database o Azure Synapse Analytics (anteriormente Azure SQL DW)

Para un servidor SQL server en el que sea el administrador de Microsoft Entra del servidor SQL Server, complete estos requisitos previos antes de aceptar un recurso compartido de datos:

  • Una instancia de Azure SQL Database o Azure Synapse Analytics (anteriormente Azure SQL DW).
  • Permiso para escribir en las bases de datos del servidor SQL: Microsoft.Sql/servers/databases/write. Este permiso existe en el rol de colaborador.
  • Acceso al firewall de SQL Server:
    1. En Azure Portal, vaya al servidor de SQL. Seleccione Firewalls y redes virtuales en el panel de navegación izquierdo.
    2. Seleccione en Permitir que los servicios y recursos de Azure accedan a este servidor.
    3. Seleccione +Agregar IP de cliente. La dirección IP del cliente puede cambiar, por lo que es posible que tenga que agregar la dirección IP del cliente de nuevo la próxima vez que comparta datos desde el portal.
    4. Seleccione Guardar.

Para un servidor SQL server en el que no sea el administrador de Microsoft Entra, complete estos requisitos previos antes de aceptar un recurso compartido de datos:

Puede seguir el vídeo de demostración paso a paso o los pasos siguientes para configurar los requisitos previos.

  • Una instancia de Azure SQL Database o Azure Synapse Analytics (anteriormente Azure SQL DW).

  • Permiso para escribir en bases de datos en servidor SQL: Microsoft.Sql/servers/databases/write. Este permiso existe en el rol de colaborador.

  • Permiso para que la identidad administrada del recurso compartido de Data Share tenga acceso a Azure SQL Database o Azure Synapse Analytics:

    1. En Azure Portal, vaya a SQL Server y establézcalo como Microsoft Entra Administración.

    2. Conectar a Azure SQL Database/Data Warehouse mediante el Editor de Power Query o SQL Server Management Studio con la autenticación de Microsoft Entra.

    3. Ejecute el siguiente script para agregar la identidad administrada de Data Share como "db_datareader, db_datawriter o db_ddladmin".

      create user "<share_acc_name>" from external provider; 
      exec sp_addrolemember db_datareader, "<share_acc_name>"; 
      exec sp_addrolemember db_datawriter, "<share_acc_name>"; 
      exec sp_addrolemember db_ddladmin, "<share_acc_name>";
      

      Nota:

      <share_acc_name> es el nombre del recurso de Data Share.

  • Acceso al firewall de SQL Server:

    1. En el Azure Portal, vaya al servidor SQL y seleccione Firewalls y redes virtuales.
    2. Seleccione en Permitir que los servicios y recursos de Azure accedan a este servidor.
    3. Seleccione +Agregar IP de cliente. La dirección IP del cliente puede cambiar, por lo que es posible que tenga que agregar la dirección IP del cliente de nuevo la próxima vez que comparta datos desde el portal.
    4. Seleccione Guardar.

Requisitos previos para recibir datos en el grupo de SQL de Azure Synapse Analytics (área de trabajo)

  • Un grupo de SQL dedicado de Azure Synapse Analytics (área de trabajo). Actualmente, no se admite la recepción de datos en un grupo de SQL sin servidor.

  • Permiso para escribir en el grupo de SQL en el área de trabajo de Synapse: Microsoft.Synapse/workspaces/sqlPools/write. Este permiso existe en el rol de colaborador.

  • Permiso para que la identidad administrada del recurso de Data Share tenga acceso al grupo de SQL del área de trabajo de Synapse:

    1. En el Azure Portal, vaya al área de trabajo de Synapse.

    2. Seleccione Administrador de SQL Active Directory en el panel de navegación izquierdo y establézcalo como administrador de Microsoft Entra.

    3. Abra Synapse Studio y seleccione Administrar en el panel de navegación izquierdo. En Seguridad, seleccione Control de acceso. Debe asignarse el rol de administrador de SQL o administrador del área de trabajo.

    4. En Synapse Studio, seleccione Desarrollar en el panel de navegación izquierdo. Ejecute el siguiente script en el grupo de SQL para agregar la identidad administrada del recurso de Data Share como "db_datareader, db_datawriter o db_ddladmin".

      create user "<share_acc_name>" from external provider; 
      exec sp_addrolemember db_datareader, "<share_acc_name>"; 
      exec sp_addrolemember db_datawriter, "<share_acc_name>"; 
      exec sp_addrolemember db_ddladmin, "<share_acc_name>";
      

      Nota:

      <share_acc_name> es el nombre del recurso de Data Share.

  • Acceso al firewall del área de trabajo de Synapse:

    1. En el Azure Portal, vaya al área de trabajo de Synapse. Seleccione Firewalls en el panel de navegación izquierdo.
    2. En Permitir que los servicios y recursos de Azure accedan a esta área de trabajo, seleccione Activado.
    3. Seleccione +Agregar IP de cliente. La dirección IP del cliente está sujeta a cambios. Es posible que se tenga repetir este proceso la próxima vez que comparta datos de SQL desde Azure Portal.
    4. Seleccione Guardar.

Recepción de datos compartidos

Apertura de una invitación

Puede abrir la invitación desde el correo electrónico o directamente desde el Azure Portal.

Para abrir una invitación desde el correo electrónico, compruebe la bandeja de entrada para ver si hay una invitación de su proveedor de datos. La invitación es de Microsoft Azure y su título es Azure Data Share invitation from yourdataprovider@domain.com (Invitación para Azure Data Share de yourdataprovider@domain.com). Seleccione View invitation (Ver invitación) para ver su invitación en Azure.

Para abrir una invitación desde Azure Portal directamente, busque invitaciones de Data Share en Azure Portal, que le llevará a la lista de invitaciones de Data Share.

Si es un usuario invitado en un inquilino, deberá comprobar la dirección de correo electrónico del inquilino antes de ver una invitación Data Share por primera vez. Una vez comprobado, el correo electrónico es válido durante 12 meses.

Screenshot of the invitations page, showing a pending invitation.

A continuación, seleccione el recurso compartido que desea ver.

Aceptación de la invitación

  1. Asegúrese de que se han revisado todos los campos, incluido el de condiciones de uso. Si acepta las condiciones de uso, se le solicitará que seleccione la casilla para indicarlo.

    Screenshot of the invitation acceptance page, showing the terms of use highlighted and the agreement selected.

  2. En Target Data Share Account (Cuenta de Azure Data Share de destino), seleccione la suscripción y el grupo de recursos en los que va a implementar su instancia de Azure Data Share.

  3. En el campo Data Share Account (Cuenta de Azure Data Share), seleccione Crear nuevo si no tiene una cuenta de Azure Data Share existente. En caso contrario, seleccione la cuenta de Azure Data Share existente en la que desea aceptar los datos compartidos.

  4. Para el campo Nombre del recurso compartido recibido , puede dejar el valor predeterminado especificado por los datos proporcionados o especificar un nuevo nombre para el recurso compartido recibido.

  5. Cuando haya aceptado los términos de uso y especificado una cuenta de Data Share para administrar el recurso compartido recibido, seleccione Accept and configure (Aceptar y configurar). Se creará una suscripción al recurso compartido.

    Screenshot of the acceptance page, showing the target data share account information filled out.

Si no desea aceptar la invitación, seleccione Reject (Rechazar).

Configuración del recurso compartido recibido

Siga los pasos que se indican a continuación para configurar dónde quiere recibir los datos.

  1. Seleccione la pestaña Conjuntos de datos. Active la casilla situada junto al conjunto de datos al que desearía asignar un destino. Seleccione + Asignar a destino para elegir un almacén de datos de destino.

    Screenshot of the received shares page with the map to target button highlighted.

  2. Seleccione el recurso de destino para almacenar los datos compartidos. Los archivos de datos o las tablas del almacén de datos de destino se sobrescribirán con la misma ruta de acceso y nombre. Si recibe datos en un almacén de SQL y aparece la casilla Permitir que Data Share ejecute el script de SQL "crear usuario" anterior en mi nombre, active la casilla. De lo contrario, siga las instrucciones de los requisitos previos para ejecutar el script que aparece en la pantalla. De esta forma, el recurso de Data Share tendrá permiso de escritura para la base de datos SQL de destino.

    Screenshot of the map datasets to target window, showing available targets in the dropdown.

  3. Para el uso compartido basado en instantáneas, si el proveedor de datos ha creado una programación de instantáneas para proporcionar actualizaciones periódicas a los datos, también puede habilitar la programación de instantáneas al seleccionar la pestaña Programación de instantáneas. Active la casilla situada junto a la programación de instantáneas y seleccione + Habilitar.

    Nota:

    La primera instantánea programada se iniciará en un minuto a partir de la hora de programación y las instantáneas siguientes se iniciarán en cuestión de segundos a partir de la hora programada.

    Screenshot showing the snapshot schedule tab with the enable button selected.

Desencadenamiento de una instantánea

Estos pasos solo se aplican al uso compartido basado en instantáneas.

  1. Para desencadenar una instantánea, seleccione la pestaña Detalles y, luego, Desencadenar instantánea. Aquí, puede desencadenar una instantánea completa de los datos. Si es la primera vez que recibe datos del proveedor de datos, seleccione copia completa. Cuando se ejecuta una instantánea, las instantáneas siguientes no se iniciarán hasta que se complete la anterior.

    Screenshot of the received shares page, showing the trigger snapshot dropdown selected and the full copy option highlighted.

  2. Cuando el estado de la última ejecución sea correcto, vaya al almacén de datos de destino para ver los datos recibidos. Seleccione Conjuntos de datos y, después, el vínculo de la ruta de acceso de destino.

    Screenshot of the datasets tab showing a successful dataset selected.

Visualización del historial

Este paso solo se aplica al uso compartido basado en instantáneas. Para ver el historial de las instantáneas, seleccione la pestaña Historial. Aquí encontrará un historial de todas las instantáneas que se generaron en los últimos 30 días.

Rendimiento de instantáneas

El rendimiento de las instantáneas de SQL se verá afectado por muchos factores. Siempre se recomienda llevar a cabo sus propias pruebas de rendimiento. A continuación, se muestran algunos factores de ejemplo que afectan al rendimiento.

  • Operaciones de entrada/salida por segundo (IOPS) y ancho de banda del almacén de datos de origen o destino.
  • Configuración de hardware (por ejemplo: núcleos virtuales, memoria, DWU) del almacén de datos SQL de origen y destino.
  • Acceso simultáneo a los almacenes de datos de origen y de destino. Si comparte varias tablas y vistas desde el mismo almacén de datos de SQL, o recibe varias tablas y vistas en el mismo almacén de datos de SQL, el rendimiento se verá afectado.
  • Ancho de banda de red entre los almacenes de datos de origen y destino, y la ubicación de estos.
  • Tamaño de las tablas y vistas que se comparten. El uso compartido de instantáneas de SQL realiza una copia completa de toda la tabla. Si el tamaño de la tabla crece con el tiempo, la instantánea tardará más.

Para tablas de gran tamaño donde se buscan actualizaciones incrementales, puede exportar las actualizaciones a la cuenta de almacenamiento y usar la funcionalidad de uso compartido incremental de la cuenta de almacenamiento para un rendimiento más rápido.

Solución de problemas de errores de instantáneas

La causa más común de error de la instantánea es que Data Share no tiene permiso para el almacén de datos de origen o de destino. Para conceder permiso a Data Share al origen o destino de Azure SQL Database o Azure Synapse Analytics (anteriormente Azure SQL DW), debe ejecutar el script SQL proporcionado al conectarse a la base de datos SQL mediante la autenticación de Microsoft Entra. Para solucionar otros errores de instantáneas de SQL, consulte Solución de problemas de errores de instantáneas.

Pasos siguientes

Ha obtenido información sobre cómo compartir y recibir datos de orígenes de almacenamiento mediante el servicio Azure Data Share. Para más información sobre el uso compartido desde otros orígenes de datos, vaya a los almacenes de datos compatibles.