Share via

Failed copy command operation for a memory usage limit issue

pmscorca 1,052 Reputation points
2024-02-08T20:24:52.1133333+00:00

Hi, I'm working with a DW100c Synapse SQL pool. In particular, by Data Factory I'm implementing a pipeline with a copy activity having an Oracle on-premises as a source and the SQL pool as a sink. Running the pipeline I've obtained this error: "Copy Command operation failed with error 'Could not get the memory grant of 243160 KB because it exceeds the maximum configuration limit in workload group 'SloDWGroupSmall' (2000001783) and resource pool 'SloDWPool' (2000000006). Contact the server administrator to increase the memory usage limit." I've solved by scaling the SQL Pool from DW100c to DW200c, but is it the better solution, considering the costs? Thanks

Azure Synapse Analytics
Azure Synapse Analytics

An Azure analytics service that brings together data integration, enterprise data warehousing, and big data analytics. Previously known as Azure SQL Data Warehouse.

Azure Data Factory
Azure Data Factory

An Azure service for ingesting, preparing, and transforming data at scale.


2 answers

Sort by: Most helpful
  1. pmscorca 1,052 Reputation points
    2024-03-05T17:28:44.7266667+00:00

    Hi @Harishga as as adding comment, I say that in Synapse as an ADF user I'm using the ADF system managed identity.

    Before the pipeline to copy from the Oracle source table to the Synapse sink table could I add this workload classifier with no impacts for the system managed identity database user?

    CREATE WORKLOAD CLASSIFIER [wgc_ADFmanagedidentity]
    WITH (WORKLOAD_GROUP = 'xlargerc'
          ,MEMBERNAME = 'ADFmanagedidentity'
    	  );
    

    As a last activity of the pipeline, could I drop the workload classifier with any impacts for the system managed identity database user?

    It isn't possible to try the create and drop workload classifier by a transaction.

    I think that for my requirements I need to have a workload classifier with only a major resources, so to restore the SQL pool to DW100c.

    Thanks

    Was this answer helpful?


  2. Harishga 6,005 Reputation points Microsoft External Staff
    2024-02-09T06:56:07.6833333+00:00

    Hi @pmscorca

    Welcome to Microsoft Q&A platform and thanks for posting your question here.

    Based on the error message you provided, it appears that you encountered a memory usage limit issue while running a pipeline that involved copying data from an Oracle on-premises source to a Synapse SQL pool sink. The error message indicates that the memory grant required by the query exceeded the maximum configuration limit in the 'SloDWGroupSmall' workload group and 'SloDWPool' resource pool.  

    You mentioned that you solved the issue by scaling up the SQL pool from DW100c to DW200c. While scaling up can be a quick solution, it may not always be the most cost-effective option.   One alternative solution is to modify the memory grant configuration for the workload group and resource pool. You can increase the memory usage limit by contacting the server administrator or modifying the configuration settings yourself.  

    Another solution is to increase the memory usage limit for the workload group and resource pool. You can contact the server administrator to increase the memory usage limit. However, this may not always be possible or cost-effective, especially if you need to increase the limit frequently.  

    I recommended that scaling up the SQL pool may not always be the best solution. You can try to optimize the query or increase the memory usage limit for the workload group and resource pool. If you need to scale up frequently, you may want to consider a long-term solution that is more cost-effective.

    Reference
    https://learn.microsoft.com/en-us/azure/synapse-analytics/sql-data-warehouse/sql-data-warehouse-tables-distribute
    https://learn.microsoft.com/en-us/azure/synapse-analytics/sql-data-warehouse/resource-classes-for-workload-management

    Hope this helps. Do let us know if you any further queries.


    If this answers your query, do click Accept Answer and Yes for was this answer helpful. And, if you have any further query do let us know.

    Was this answer helpful?


Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.