Hello Friends,
Please help,
We are using sas 9.4 on windows and getting below error while running PROC SORT for multiple key varible with big dataset,
ERROR: No disk space is available for the write operation. Filename = C:\xxxxxx\xxxxxxxxxx\AppData\xxxxx\Temp\SAS Temporary
Files\SAS_util0001000019F8_xxxxxxxxxxxxxx\ut19F8000008.utl.
I checked some config file and found we have below options set. Is there anything needs to be taken care? Thank you in advance.
MEMSIZE 2G
SORTSIZE 1G
The error suggests that your C: hard drive has run out of space. Go into Windows Explorer and check the properties of your C: drive - how much free space do you have? You need free space that is around three times the size of your dataset for it to sort properly.
Clean up your C: drive by deleting any old temporary files and directories plus anything else you dont need, and empty your Recycle Bin.
Thanks SASKiwi and LinusH for your reply.
Sorting dataset is ~26 gb (where we receive disc space error) and total availble space on C drive is almost same. However, we have old SAS server where similar PROC SORT process running fine with less avaible C drive space and similat dataset size.
A SORT will not work if you only have the size of the dataset as free space. You need the space for the output (which will be equal to the input dataset, unless you reduce the number of variables) and the space for the utility file, which will be at least the size of the output dataset unless you use the tagsort= option (stores only key(s) and record pointer in the utility file). If your dataset is stored with the compress=yes option, the utility file will be even bigger, as it is not compressed.
I positively do not believe that the same (identical) sort works under the same space constraints on your old server.
Clean up your C: drive, and/or add disk space. 26 GB is next to nothing in the age of multi-TB drives.
Some thought:
1) Use SPDE engine if you could .
2) Use the following option could enhance proc sort speed.
proc sort sortsize=max noequals
3)If WORK library don't have enought disk space , you can follow this :
find a enough dish of paritition like 😧 or E: and create a folder TEMP .and use option :
options user='d:\temp' utilloc='d:\temp';
proc sort...........
4) Make an index . Once you make it , you don't need proc sort anymore .
Thanks a lot to all for your time and comment. TAGSORT works fine and we redirected temp work directory as long term solution.
The SAS Users Group for Administrators (SUGA) is open to all SAS administrators and architects who install, update, manage or maintain a SAS deployment.
SAS technical trainer Erin Winters shows you how to explore assets, create new data discovery agents, schedule data discovery agents, and much more.
Find more tutorials on the SAS Users YouTube channel.