Columnstore compression issue for a CTAS - Synapse SQL pool

pmscorca 1,052 Reputation points
2024-03-17T18:54:19.5933333+00:00

Hi,

in a DW100c Synapse dedicated SQL pool I've a hash distributed table with 260 columns and 2 millions of rows. For this table it was specified the clause CLUSTERED COLUMNSTORE INDEX.

To change the hash distribution column I've used a CREATE TABLE AS SELECT maintaining the above clause:
User's image and I've obtained this error:
"Unable to allocate 260736 KB for columnstore compression because it exceeds the remaining memory from total allocated for current resource class and DWU. Please rerun query at a higher resource class, and also consider increasing DWU. See 'https://aka.ms/sqldw_columnstore_memory' for assistance."
So, I've tried to assign to my user (by calling sp_addrolemember) first the dynamic resource class xlargerc and then the static resource class staticrc80 but the CTAS still has gone in error. Obviously, I've
Despite to assign an high resource class when I've tried to monitor the CTAS statement by joining the sys.dm_pdw_exec_requests and sys.dm_pdw_exec_sessions DMVs I've seen the smallrc resource class for my user and not the xlargerc one or the staticrc80 one.

Any suggests to me in order to solve a such issue?
Do I need to increase the service level?

Or do I need to choose only some columns for the clustered columnstore index, if possible?

I need to change the hash distribution colums to proof the performance of a join maintaining the right columnstore index.

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.
0 comments No comments
{count} votes

Answer accepted by question author
  1. Amira Bedhiafi 40,421 Reputation points Volunteer Moderator
    2024-03-19T10:00:11.2966667+00:00

    I think you need to increase the DWU as suggested in the error message, example of the query :

    ALTER DATABASE [my-database-name] MODIFY (SERVICE_OBJECTIVE = 'DW300c')
    
    

1 additional answer

Sort by: Most helpful
  1. AnnuKumari-MSFT 34,561 Reputation points Microsoft Employee Moderator
    2024-03-28T05:27:54.0233333+00:00

    @pmscorca ,

    Thankyou for using Microsoft Q&A platform.

    Alternatively, you can directly scale up from UI by dragging the slider to the desired DW units. Kindly checkout the below screenshots:

    User's image User's image

    Hope it helps. Kindly accept the answer by clicking on Accept answer button. Thankyou

    0 comments No comments

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.