(+351) 21 24 10006  ·  info@bconcepts.pt
Carnaxide, Lisboa

Self-hosted IR en Azure Synapse: cómo configurar

João Barros 26 de July de 2026 4 min de lectura

Este tutorial explica cómo configurar un Self-hosted Integration Runtime (IR) en Azure Synapse para copiar datos de un SQL Server on-premises a un Azure Data Lake Storage Gen2. Configurar un Self-hosted IR en Azure Synapse permite mover datos a través de redes seguras cuando no es posible exponer las bases de datos directamente a la nube.

Prerrequisitos

  • Cuenta Azure con permisos para el Synapse Workspace y ADLS Gen2.
  • Un Synapse Workspace con permisos de Contributor para crear Linked Services y Pipelines.
  • Máquina on-premises (Windows) con acceso al SQL Server y permisos para instalar software.
  • Puertos de red abiertos para el servidor donde se instalará el Self-hosted IR (HTTPS de salida).
  • Credenciales de acceso al SQL Server y a la cuenta ADLS Gen2.

Paso 1: Crear el Self-hosted Integration Runtime en Synapse

Abra el Synapse Studio y vaya a Manage > Integration runtimes. Cree un nuevo Integration Runtime del tipo Self-hosted. El paso genera una clave de registro que se usará en la instalación local.

{
  "name": "SelfHostedIR",
  "type": "SelfHosted",
  "description": "IR para ligar ao SQL on-premises"
}

Paso 2: Instalar y registrar el IR en la máquina on-premises

En la máquina on-premises descargue el instalador del Integration Runtime (enlace en el propio Synapse Studio). Ejecute el instalador y, cuando se le solicite, pegue la clave de registro creada en el Paso 1. El agente quedará registrado y conectado a su Synapse Workspace.

Paso 3: Crear Linked Services (SQL on-prem y ADLS Gen2)

Cree un Linked Service para el SQL Server on-premises y otro para el ADLS Gen2. Para el Linked Service del SQL Server indique que usa el Self-hosted IR mediante connectVia. Ejemplo mínimo JSON del Linked Service para el SQL Server:

{
  "name": "LS_OnPrem_SqlServer",
  "properties": {
    "type": "SqlServer",
    "typeProperties": {
      "connectionString": "Server=ONPREM-SQL;Database=MyDb;User Id=myuser;Password=mypassword;"
    },
    "connectVia": {
      "referenceName": "SelfHostedIR",
      "type": "IntegrationRuntimeReference"
    }
  }
}

Ejemplo mínimo JSON del Linked Service para ADLS Gen2:

{
  "name": "LS_ADLS_Gen2",
  "properties": {
    "type": "AzureDataLakeStorageGen2",
    "typeProperties": {
      "url": "https://.dfs.core.windows.net"
    }
  }
}

Paso 4: Crear Datasets y pipeline Copy

Defina un Dataset de origen que apunte a la tabla del SQL Server y un Dataset de destino que escriba en un contenedor ADLS Gen2 (por ejemplo CSV o Parquet). Después cree un Pipeline con una actividad Copy.

{
  "name": "Ds_OnPrem_SqlTable",
  "properties": {
    "linkedServiceName": { "referenceName": "LS_OnPrem_SqlServer", "type": "LinkedServiceReference" },
    "type": "SqlServerTable",
    "typeProperties": { "tableName": "dbo.MyTable" }
  }
}

{
  "name": "Ds_ADLS_Output",
  "properties": {
    "linkedServiceName": { "referenceName": "LS_ADLS_Gen2", "type": "LinkedServiceReference" },
    "type": "DelimitedText",
    "typeProperties": { "location": { "type": "AzureBlobFSLocation", "fileName": "MyTable.csv", "folderPath": "ingest/" } }
  }
}

{
  "name": "CopyOnPremToADLS",
  "properties": {
    "activities": [
      {
        "name": "CopyFromSqlToADLS",
        "type": "Copy",
        "inputs": [{ "referenceName": "Ds_OnPrem_SqlTable", "type": "DatasetReference" }],
        "outputs": [{ "referenceName": "Ds_ADLS_Output", "type": "DatasetReference" }],
        "typeProperties": {
          "source": { "type": "SqlSource" },
          "sink": { "type": "DelimitedTextSink", "storeSettings": {} }
        }
      }
    ]
  }
}

Nota: en Synapse Studio puede crear estos elementos a través de la interfaz gráfica. El JSON sirve de ejemplo para automatización o plantillas ARM.

Paso 5: Ejecutar, monitorizar y programar

Ejecute el pipeline manualmente en Synapse Studio para probar. Después use Triggers para programar ejecuciones (Schedule trigger) si necesita cargas recurrentes. Monitorice en Monitor > Pipeline runs para ver el estado, la duración y eventuales errores.

Verificar el resultado

Confirme que los archivos se han escrito en ADLS Gen2: use el recurso Data hub en Synapse Studio o un Storage Explorer (o el Azure Portal) para verificar la presencia de MyTable.csv en /ingest/. Verifique también el registro del pipeline en Monitor para mensajes de éxito y número de filas copiadas. Si hay errores comunes (autenticación, firewall, tiempo de conexión), revise el registro del Self-hosted IR en la máquina local y si el SQL Server permite conexiones remotas.

Conclusión

Ahora tiene un Self-hosted Integration Runtime funcionando con un pipeline Copy que mueve datos de un SQL Server on-premises a ADLS Gen2 vía Azure Synapse. Siguientes pasos útiles incluyen: usar formatos eficientes como Parquet, implementar compresión o añadir actividades de transformación en el pipeline. Consejo: si observa problemas de conexión, confirme la hora del sistema y si el agente puede resolver los nombres DNS del servidor on-premises — ¿ya ha comprobado eso?