copy job
36 TopicsCopy job vs pipeline + watermark table for incremental loads from Azure SQL: production experiences?
Hi all, I'm comparing Copy job with a classic pipeline (Lookup + Copy activity + watermark table) for incremental loads from Azure SQL Database into a Lakehouse, for around a few dozen tables. The pipeline version is the pattern most of us know: Lookup: SELECT LastWatermark FROM etl.Watermark WHERE TableName = @{item().name} Copy: SELECT * FROM @{item().name} WHERE ModifiedDate > '@{activity('Lookup').output.firstRow.LastWatermark}' Stored proc: UPDATE etl.Watermark SET LastWatermark = <max ModifiedDate copied> Copy job seems to cover most of this out of the box (incremental column per table, state tracked for you), which is attractive because there is much less to maintain. Before choosing, I'd like to understand a few things from people using Copy job in production: Visibility: when a single table fails, how easy is it to see which table and why, and to rerun only that one? Resetting state: if a table needs a full reload (schema change, data fix), can you reset the watermark for just that table? Deletes: for sources where rows are deleted, how are you handling it with Copy job, or do you fall back to mirroring / a pipeline for those tables? CI/CD: does Copy job work cleanly with Git integration and deployment pipelines, including connection changes between Dev and Prod? Any experience or lessons learned would be really helpful. Thanks!Solved29Views0likes3CommentsCopy Job: Using variable library prevents editing mappings
I have created copy job which reads CSV file into Lakehouse as Delta table. I can edit mappings when I have hardcoded lakehouse and warehouse id. If I change them to come from variable library and open the edit mapping page I get this error: Lakehouse operation failed for: Operation returned an invalid status code 'NotFound'. Workspace: 'a2e4fabe-c127-4f69-b7a5-6fd1acfc677f'. Path: 'a03b2b59-cfc5-3189-d41f-9be4fa2a40f7/Tables/dbo/project/projects.csv'. ErrorCode: 'PathNotFound'. Message: 'The specified path does not exist.'. RequestId: '3d5bec09-501f-0059-5ae9-6f9b03000000'. TimeStamp: 'Thu, 18 Dec 2025 06:40:50 GMT'. Operation returned an invalid status code 'NotFound' Activity ID: e23619c1-1e8e-4918-92bf-b2b6594f057b Pipeline works so workspaceid and lakehouseid are correctly set. I have default values and environment specific values in variable library set. All of these are working, but I cannot edit mappings after using the variable library in copy job.3.8KViews0likes16CommentsCopyJob status is different in a Pipeline
Hello everyone! I'm having an issue with a pipeline that calls a Copy Job activity. When the pipeline sends a request for the Copy Job to run, the activity shows a "Running" status in the pipeline. However, when I check the execution history of the Copy Job that was called, the latest run already shows a "Completed" status. The problem is that the pipeline continues to show the activity as running even though the Copy Job has already completed. This keeps my entire pipeline running for a long time, and eventually the activity changes to "Completed." Here is a screenshot of the pipeline activity showing that it had been running for 26 minutes at 9/25/2026 12:17 PM UTC. And here is a screenshot of the Copy Job execution history. It shows the same time, but in UTC-3. Both screenshots were taken at the same time. This Copy Job usually takes around 10–20 minutes to complete, but the pipeline activity remained running for 54 minutes. Is this normal behavior? Has anyone experienced something similar?Solved72Views0likes3CommentsCopy Job Not Saving
I want to know how everyone is dealing with this. I have a Copy Job that brings over 30+ tables from one lakehouse to another and has column mappings. I find that when I try to edit the mapping of one table after running the Copy Job and then hitting the Apply button, I receive a validation model error message even though I only edited a single table and then the mappings of the other tables disappear and I have to redo the mappings for all 30+ tables. If I try to add another table from the source, all my mappings from the previous sources will disappear as well and I have to redo it. I was hoping that I could hold onto the JSON code and paste in the old mappings but there's no way to edit the Copy Job JSON file only to view it. How is everyone editing their Copy Jobs?2KViews1like7CommentsCopy Job does an Append for FULL Load, cannot be changed
I played around with Copy Job when it first came out. Now I am trying to set one up for real. I'm starting with one table of about a million records that needs a Full load every night. The job has run three times and I have 3 million records. It is configured for FULL Load. In the Advanced settings, under Write settings, it is set to Append. Ah, THAT is the issue. But I cannot select anything else. Where is the OVERWRITE option? What am I missing? Do I have to manually TRUNCATE the destination tables before running the Copy Job? I sort of assumed that a FULL LOAD implied overwrte.Solved119Views0likes3Commentsnested Array Issue in Mapping the key Values Part
I have a nested list of the array within the API Response in the Azure Data Factory. When I am mapping it with the column its is showing me null value instead of giving me the actual value which exist. Here rthe Product List Part part of the reposnse that I wanted to map "products": [ { "id": 1, "catalogItem": { "id": 1, "identifier": "1", "_info": { "catalog_href": "https://example.com/1" } }, "description": "1", "sequenceNumber": 1, "quantity": 1, "price": 1, "cost": 1, "agreementAmount": 1, "billableOption": "1", "agreement": { "id": 1, "name": "1", "_info": { "agreement_href": "https://example.com/1" } }, "locationId": 1, "businessUnitId": 1, "taxableFlag": false, "dropshipFlag": false, "specialOrderFlag": false, "phaseProductFlag": false, "cancelledFlag": false, "quantityCancelled": 1, "customerDescription": "1", "productSuppliedFlag": false, "invoice": { "id": 1, "identifier": "1", "_info": { "invoice_href": "https://example.com/1" } }, "warehouseId": 1, "warehouseBinId": 1, "calculatedPriceFlag": false, "calculatedCostFlag": false, "warehouse": "1", "warehouseBin": "1", "company": { "id": 1, "identifier": "1", "name": "1", "_info": { "company_href": "https://example.com/1" } }, "productClass": "1", "needToPurchaseFlag": false, "minimumStockFlag": false, "calculatedPrice": 1, "calculatedCost": 1, "_info": { "lastUpdated": "2026-01-01T00:00:00Z", "updatedBy": "1" } } ] I am trying the catlogitem.id and the the Same Format you can see here but still cant get an data in the rows of the SQL Table How to refrenece it or how to flat it?94Views0likes2Commentserror in copy job merge option key column configuration
There is an error in copy job merge configuration. there is no option to choose the key columns but, getting error to choose the key column. Not able configure the keys as the key configuration pane is not visible in copy job window.Solved230Views0likes4CommentsCopy Job - Lakehouse Files to Lakehouse Table
Hi there, I am exactly trying to achieve what Patrick is doing in the video: Nutzen Sie den Kopierauftrag, um die neueste Datei in die Data Factory zu kopieren. - YouTube Shortcut loading Blob Files into Lakehouses Files and then using a Copy Job to move in the same Lakehouse with incremental load into the Table section. However this seems to be not working anymore? I am receiving a error message stating that: "ErrorCode=ApplyChangesNotSupported,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=ApplyChanges is not supported for the copy pair from Lakehouse to LakehouseTable.,Source=Microsoft.DataTransfer.ClientLibrary,'" However I am curious if there is anything that I am doing wrong? Are there better ways to move within a Lakehouse from Files into Table incrementally with a low-code experience? Thanks for the help!2KViews1like3CommentsCopyJob - ColumnNameNotFoundInDeltaSchema - Lakehouse - additionalColumns
Hi, My copyJob `CD_Tickets` is executed from a data pipeline on a 10 minute schedule. Most of the time the copyJob is working fine. But sometimes, without any changes to the data pipeline, it fails with ErrorCode=ColumnNameNotFoundInDeltaSchema Full message: ErrorCode=ColumnNameNotFoundInDeltaSchema,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=Column name: __ingestedUtc02_Staged is not present in delta table schema. Please import schema to reflect the latest.,Source=Microsoft.DataTransfer.ClientLibrary,' The reported column `__ingestedUtc02_Staged` is an additional column to a Lakehouse datasource. (see below) I don't think there is anything wrong with the copyJob, as it is working without any changes most of the time. But I would like to learn what the real reason is for the execution failure. Partial copyJob definition: { "name": "CD_Tickets", "type": "Copy", "dependsOn": [ { "activity": "NB_AutotaskUrenSync", "dependencyConditions": [ "Succeeded" ] } ], "policy": { "timeout": "0.12:00:00", "retry": 0, "retryIntervalInSeconds": 30, "secureOutput": false, "secureInput": false }, "typeProperties": { "source": { "type": "LakehouseTableSource", "additionalColumns": [ { "name": "__ingestedUtc02_Staged", "value": { "value": "@utcNow()", "type": "Expression" } } ], "datasetSettings": { "annotations": [], "linkedService": { "name": "LH_BUA_BRONZE", "properties": { "annotations": [], "type": "Lakehouse", "typeProperties": { "workspaceId": "REDACTED", "artifactId": "REDACTED", "rootFolder": "Tables" } } }, "type": "LakehouseTable", "schema": [], "typeProperties": { "schema": "autotaskurensync", "table": "tickets" } } }, "REMOVED": "SINK, MAPPING, ETC." } }Solved931Views0likes4CommentsIncremental Copy Job error from NetSuite
I am trying to configure a copy job to incrementally load data from NetSuite SuiteAnalytics Connect. The source is accessed using the NetSuite ODBC driver installed on an on-prem data gateway. I receive this error when trying to run the job, regardless of table selected: Failure happened on 'Source' side. ErrorCode=UserErrorOdbcOperationFailed,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=ERROR [HY000] [NetSuite][ODBC 64bit driver][OpenAccess SDK SQL Engine]Error getting the literal value of right operand.[10169],Source=Microsoft.DataTransfer.Runtime.GenericOdbcConnectors,''Type=System.Data.Odbc.OdbcException,Message=ERROR [HY000] [NetSuite][ODBC 64bit driver][OpenAccess SDK SQL Engine]Error getting the literal value of right operand.[10169],Source=NQoa27.dll,' The field used as a watermark is recognised by Fabric as a datetime column. Before I raise a support request with MS, has anyone else encountered this issue and found a solution?1.3KViews0likes5Comments