We are having a great deal of trouble de-bugging a problem where a busy production server (100+GB DB - 300+ users, 24/7 operation) is regularly crashing, after having been quite stable for more than a year.
Support are keen to get hold of a full crash dump and we have set the necessary command line settings. The crashes only happen when a large cache is in use (29GB), so the dump is big and will need a location with lots of space - much more than is available on the c: drive. Accordingly we set the SADIAGDIR environment variable, but it seems to be ignored entirely, with the dump been saved to %ALLUSERSPROFILE%\Application Data\SQL Anywhere 11\diagnostics (on c:) whatever we do. This simply saves the dump until disk space is exhausted and the server crashes.
Our support contact feels this may be related to the service running as a service - but it is not realistic to run a production system of this size as a standard application - if the user is logged off the (remote) server for any reason, the database will of course be stopped without warning.
Does anyone have experience of using the SADIAGDIR environment variable successfully?
Are you certain you are setting the variable in the system variables rather than the per-user variables? You will need to restart the service after changing the variable.
If all else fails and depending on the OS version, you could try using an NTFS symlink or, for older systems, junction point (akin to a directory symlink) to force the diagnostics directory onto another drive.