See log below. I am running out of space within the work library. Is there a way to change the default work library to a different drive with more memory?
I found this comment regarding a similar issue, but I was not sure if this would work for my issues:
If SAS is installed on your pc go to the installation folder (c:\program files\sas\sas 9.1) and open the file "sasv9.cfg". Find the line starting with -WORK and edit it.
EXCERPT FROM LOG
1356 proc sql ;
1357 create table service_codes_sum (index = (key = (bene_id claim_no_grp claim_number ))
1357 ! ) as
1358 select
1359 bene_id, from_dt, claim_no_grp, claim_number, file_type,
1360 code_type, code_loc, code_value, poa_value, mdfr_cd1, mdfr_cd2, rev_cntr, apcpps,
1360 ! code_pckgind,
1361 sum(code_amt) as code_amt,
1362 sum(code_units) as code_units
1363 from
1364 service_codes
1365 group by
1366 bene_id, from_dt, claim_no_grp, claim_number, file_type,
1367 code_type, code_loc, code_value, poa_value, mdfr_cd1, mdfr_cd2, rev_cntr, apcpps,
1367 ! code_pckgind ;
ERROR: Insufficient space in file WORK.'SASTMP-000000102'n.UTILITY.
ERROR: File WORK.'SASTMP-000000102'n.UTILITY is damaged. I/O processing did not complete.
NOTE: PROC SQL set option NOEXEC and will continue to check the syntax of statements.
1368 quit ;
NOTE: The SAS System stopped processing this step because of errors.
NOTE: PROCEDURE SQL used (Total process time):
real time 2:20:53.07
cpu time 28:33.98
You'd better talk with SAS Administrator.
Did your SAS set up under UNIX envirnoment ? then you should ask Administrator to cancel the limitation of user's source and re-start SAS Server.
And another workaroud way is using :
options user=your-another-library ;
to replace the function of WORK library.
Ksharp
I tried to manually change the work location, using the above directions, but I have SAS 9.3, and would not locate the appropriate folder. I than tried to change the work location using a libname statement.
libname work 'X:\SASTEMP';
In the log it stated that the SAS Library work could not be reassigned. Does anyone know why or a way around this?
Because the WORK library is intrinsic to SAS operations, it is established at SAS startup and can't be redirected. Your first post has a correct solution, you are just looking in the wrong place for the sasv9.cfg file.
Information about this file, and other initiation options, is in the "SAS 9.3 Companion for Windows" document. These locations change from release to release of SAS. Try looking in "c:\program files\SASHome\SASFoundation\9.3\nls\
en\sasv9.cfg", assuming your language is English.
Change the reference to WORK as you describe in your first post.
Tom
Hi Tom, Suzanne099 and I are working on this together. Thanks much for your input. Do you know the exact syntax for changing the work directory to another drive. The line in my sasv9.cfg file currently looks like this:
-WORK "!TEMP\SAS Temporary Files"
so should it look something like this?:
-WORK F:\SASTEMP"
I also read another post that that says the above line should be added to the shortcut target line in the properties of the SAS executable file (http://www.ats.ucla.edu/stat/sas/icu/custom_win_92.htm). This references v9.2 but for v9.3 is it necessary to have this -WORK line in both places?
If the -WORK option is put in the CONFIG file, it affects all SAS jobs/sessions on that PC
If it is put in the desktop shortcut, then it will only affect SAS sessions run from that shortcut.
The correct syntax is -WORK "F:\SASTEMP" if it is in the shortcut. The !TEMP references a Windows environment variable. You can replace it with the hardcoded location if you wish.
You'd better talk with SAS Administrator.
Did your SAS set up under UNIX envirnoment ? then you should ask Administrator to cancel the limitation of user's source and re-start SAS Server.
And another workaroud way is using :
options user=your-another-library ;
to replace the function of WORK library.
Ksharp
KSharp's solution:
options user="E:\SASTEMP";
was the easiest fix to the insufficient disk space issue. Thanks!
Good day!!!
I have a query regarding work library storage. We work under windows environment.
Currently, my codes are running for 653 datapoints and each datapoint has corresponding 25 datasets.
I am running a do loop for the above task.
But, the problem is , it executed until 353 data points and a message popped up saying, work library storage limit exceeded and it stopped executing.
Can you please elaborate on your below explanation on using options user=another library; ?
Thanks!!!
Please open a new post for your issue, referencing this post as a possible solution. Burying your problem in an old one won't necessarily give you the best answer. Then we can help you decide if this is the best option or not.
You can also just point the output to a drive with a large amount of space on it:
LIBNAME mydata 'F:\BIGWORKAREA';
proc sql;
create table mydata.tablename as
select etc.
To avoid this problem you should need to use a larger disk for your WORK library and/or use a
subset of the observations in your input data set. Or clean the temp files which are not required from your work library frequently.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
What’s the difference between SAS Enterprise Guide and SAS Studio? How are they similar? Just ask SAS’ Danny Modlin.
Find more tutorials on the SAS Users YouTube channel.