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

Cómo generar scripts de migración de datos en Microsoft Copilot: paso a paso

João Barros 10 de November de 2026 5 min de lectura

Este tutorial muestra cómo usar Microsoft Copilot para crear scripts de migración de datos entre bases de datos, con mapeo de campos, transformaciones simples y validaciones. Saber generar estos scripts con Copilot acelera migraciones, reduce errores manuales y proporciona un punto de partida auditables para developers y DBAs.

Pre-requisitos

  • Cuenta con acceso a Microsoft Copilot (Copilot for Microsoft 365 o Copilot Studio según disponibilidad).
  • Acceso a ambas bases de datos (origen y destino) y esquema simple — p. ej.: SQL Server, PostgreSQL o Azure SQL.
  • Editor de código (se recomienda VS Code) y cliente SQL para probar scripts.
  • Conocimientos básicos de SQL y mapeo ETL (extract, transform, load).

Paso 1: Preparar la descripción de la migración

Explique a Copilot, de forma clara y estructurada, lo que pretende migrar: tablas, columnas, tipos, reglas de transformación y volumen aproximado. La calidad de la descripción determina la utilidad del script generado.

Descrição exemplo:
Migrar a tabela Customers de SQLServer para Azure SQL.
Colunas:
- CustomerID int -> CustomerId int (PK)
- FirstName varchar(100) + LastName varchar(100) -> FullName nvarchar(200) (concat com espaço)
- Email varchar(200) -> Email nvarchar(200) (lowercase)
- CreatedDate datetime -> CreatedUtc datetime2 (conversão para UTC)
Regras:
- Ignorar registos com Email NULL
- Lotes de 1000 registos por transacção
- Log de erros para uma tabela MigrationErrors

Paso 2: Pedir la primera versión del script a Copilot

En el editor donde tiene Microsoft Copilot activo, pegue la descripción y solicite un script SQL que realice la migración por lotes, con transacciones e inserciones para la base de destino. Pida también la creación de la tabla MigrationErrors.

Prompt exemplo para Copilot:
"Gera um script T-SQL que migre a tabela Customers seguindo a Descrição acima. Inclui: criação de MigrationErrors, loop por lotes de 1000, transacções, tratamento de emails NULL e conversões de data e nomes. Dá comentários no código."

Paso 3: Revisar y ajustar el script

Copilot devuelve un script base. Léalo cuidadosamente: verifique transacciones, tipificaciones, conversiones y cláusulas WHERE. Ajuste nombres de schema/tablas e índices según su infraestructura.

Exemplo de saída (simplificada):
BEGIN TRANSACTION;
-- Cria tabela de erros
IF NOT EXISTS (SELECT * FROM sys.tables WHERE name = 'MigrationErrors')
CREATE TABLE MigrationErrors (ErrorId INT IDENTITY(1,1), CustomerID INT, ErrorMsg NVARCHAR(4000), CreatedUtc DATETIME2 DEFAULT SYSUTCDATETIME());

DECLARE @BatchSize INT = 1000, @MinId INT = 0, @MaxId INT;
SELECT @MaxId = MAX(CustomerID) FROM SourceDB.dbo.Customers;
WHILE @MinId < ISNULL(@MaxId,0)
BEGIN
  BEGIN TRY
    BEGIN TRANSACTION;
    INSERT INTO TargetDB.dbo.Customers (CustomerId, FullName, Email, CreatedUtc)
    SELECT CustomerID,
           RTRIM(FirstName) + ' ' + RTRIM(LastName) AS FullName,
           LOWER(Email) AS Email,
           SWITCHOFFSET(CONVERT(datetimeoffset, CreatedDate), '+00:00') AS CreatedUtc
    FROM SourceDB.dbo.Customers
    WHERE Email IS NOT NULL AND CustomerID > @MinId
    ORDER BY CustomerID
    OFFSET 0 ROWS FETCH NEXT @BatchSize ROWS ONLY;

    SET @MinId = @MinId + @BatchSize;
    COMMIT TRANSACTION;
  END TRY
  BEGIN CATCH
    INSERT INTO MigrationErrors (CustomerID, ErrorMsg)
    VALUES (ERROR_NUMBER(), ERROR_MESSAGE());
    ROLLBACK TRANSACTION;
    BREAK;
  END CATCH
END

Paso 4: Probar en entorno de desarrollo

Ejecute el script primero en una copia pequeña de la base de datos. Verifique si las transformaciones (concat, lowercase, timezone) son correctas y si la tabla MigrationErrors registra problemas. Ajuste el BatchSize para el rendimiento.

Paso 5: Añadir validaciones post-migración

Pida a Copilot que genere consultas de validación: recuentos por tabla, checksums simples y comparación de muestras entre origen y destino. Estas queries ayudan a confirmar la integridad.

Prompt exemplo:
"Gera queries para validar migração: 1) contagem total de registos por tabela; 2) diferença de emails nulos; 3) checksum simples por lote usando HASHBYTES."

Paso 6: Automatizar ejecución segura

Use un fichero de script o un job (p. ej.: SQL Agent, Azure Data Factory para versiones cloud) para ejecutar con logs y alertas. Pida a Copilot un ejemplo de job o pipeline simple si necesita una plantilla.

Exemplo de comando para SQL Agent (conceptual):
-- Criar job que chama stored procedure de migração
EXEC msdb.dbo.sp_add_job @job_name = 'Job_Migrate_Customers';
-- adicionar steps e schedule conforme necessário

Verificar el resultado

Confirme que el número de registros en la tabla destino corresponde a lo esperado, que no se han transferido emails NULL, y que la tabla MigrationErrors está vacía (o solo con registros esperados). Ejecute las queries de validación generadas y analice logs de transacción y tiempos por lote para rendimiento.

Conclusión

Usar Microsoft Copilot para generar scripts de migración acelera el desarrollo del script base y ahorra tiempo en tareas repetitivas. Próximos pasos: crear tests automatizados, optimizar rendimiento mediante índices y planear rollback. Consejo: revise siempre manualmente y pruebe en un entorno aislado antes de producción — ¿cuál es la transformación más crítica en su migración?