Usage Note 17604: Tips for testing permissions of "sassrv" user account for the SAS® Stored Process Server on Windows
When attempting to run a request using the SAS Stored Process Server,
if the SAS Object Spawner cannot launch the SAS Stored Process Server, then
the sassrv user account may not have the permissions it requires
to start the server. This SAS Note provides some tips for checking
the privileges of the sassrv account (the default "Login" account
for the SAS Stored Process Server).
- The sassrv account needs permission to write to the
"StoredProcessServer/logs" directory, to access the SAS
configuration file, to access the SASUSER directory, to write to
the SAS WORK library, and permission to execute the "sas.exe"
executable that is used to start the SAS Stored Process Server.
The sassrv account also needs permission to write to the
UTILLOC directory (where application utility files are stored)
that is specified in the UTILLOC= system option.
- The sassrv account (and user accounts that submit requests) must
be granted "Log on as a batch job" permission/policy on the Windows
operating system. On Windows NT and Windows 2000, you must grant
"Act as part of the Operating System" to SAS General Server group.
- Check the SAS Stored Process Server log files and Windows Event Viewer log files and look for error messages.
- If the Object Spawner attempts to launch the SAS Stored Process
Server, but cannot, you may see the below WARNING message
in your SAS Object Spawner's log file:
WARNING: An error occurred while server (xxxxxxxx.xxxxxxxx)
was starting. Now attempting a different server.
Alternatively, you may see the below error message:
ERROR: The server failed to start.
- The following approach should help test that the sassrv account
has sufficient privileges.
- In your SAS Stored Process Server directory (e.g.
C:\SAS\<project name>\Lev1\SASMain\StoredProcessServer)
create the following two files.
- Create a file called debug_test.sas that contains
the following code:
filename in pipe "set";
data _null_;
infile in; input; list;
run;
- Create a file called debug_test.bat that contains
the following line. Change
"C:\Program Files\SAS\SAS 9.1\sas.exe"
to your site-specific path for your SAS executable. The
line is (this command must be on ONE LINE):
"C:\Program Files\SAS\SAS 9.1\sas.exe" -verbose -terminal -sysin debug_test.sas -config sasv9_StorProcSrv.cfg
- From a DOS shell, issue the below command:
> runas /user:sassrv cmd
You will be prompted to enter the password for your sassrv
account. This will cause a new DOS window to be opened.
At the top of the new DOS window you should see
"cmd(running as xxxxx\sassrv)"
- In the newly opened DOS window (which is running under
the privileges of your sassrv account), use the CD command
to go to the Windows directory where you created your
"debug_test.bat" file. Then, issue the below command:
> debug_test.bat
- If the above test was successful, a SAS log file should
be created in the "Stored Process Server" logs directory
(which is under the "StoredProcessServer" directory).
Check this log file and look for error messages.
If this log file was not created, then the sassrv
account probably does not have permission to write to
the "logs" directory. Also, check your "sasv9_StorProcSrv.cfg"
file to make sure the "-log" path is correct.
- If your SAS Stored Process Server ran successfully in the past,
but will not run successfully now, then try the following.
- Restart your SAS Object Spawner.
Then, submit a request to your SAS Stored Process Server.
- If your SAS Stored Process Server still does not run
successfully after restarting your SAS Object Spawner,
then it is possible that you may have a hung
SAS Stored Process Server. You can check this scenario
as follows:
- Stop your SAS Object Spawner
- Bring up a DOS shell and issue the below commands.
This assumes that your Stored Process Servers are
running on the default ports. If your Stored Process
Servers are running on different ports, then
substitute your ports in place of 8611, 8621 and 8631.
> netstat -ano | find "8611"
> netstat -ano | find "8621"
> netstat -ano | find "8631"
If any of these ports are in use, then the above commands
will provide information about the port status and "Process
Id" (PID) information. If any of these ports are being used,
then you probably have a hung SAS Stored Process Server.
You can use the Windows Task Manager to kill the process
(identified by the PID and the Image Name will be
"sas.exe") that that is associated with the port.
For more information, see SAS Note #017488 .
- Restart your Stored Process Server.
- Check the path for your Stored Process Server configuration file,
defined in the SAS Management Console, to confirm it is correct.
- See SAS Note #017336 for more tips.
Select the Hot Fix tab in this note to access the hot fix for this issue.
Operating System and Release Information
SAS System | SAS Integration Technologies | Microsoft Windows XP Professional | 9.1 TS1M3 SP1 | |
Microsoft® Windows® for 64-Bit Itanium-based Systems | 9.1 TS1M3 SP1 | |
Microsoft Windows XP 64-bit Edition | 9.1 TS1M3 SP1 | |
Microsoft Windows NT Workstation | 9.1 TS1M3 SP1 | |
Microsoft Windows Server 2003 Datacenter Edition | 9.1 TS1M3 SP1 | |
Microsoft Windows Server 2003 Enterprise Edition | 9.1 TS1M3 SP1 | |
Microsoft Windows Server 2003 Standard Edition | 9.1 TS1M3 SP1 | |
Microsoft Windows 2000 Professional | 9.1 TS1M3 SP1 | |
Microsoft Windows 2000 Server | 9.1 TS1M3 SP1 | |
Microsoft Windows 2000 Advanced Server | 9.1 TS1M3 SP1 | |
Microsoft Windows 2000 Datacenter Server | 9.1 TS1M3 SP1 | |
*
For software releases that are not yet generally available, the Fixed
Release is the software release in which the problem is planned to be
fixed.
Type: | Usage Note |
Priority: | |
Topic: | System Administration ==> Servers ==> Integration Technologies
|
Date Modified: | 2006-11-21 13:06:52 |
Date Created: | 2006-05-01 17:44:46 |