SQL Reporting Services, Web Application Pool and LocalSystem
One day I was preparing for SQL Server Reporting Services presentation. I don’t do it much often but it was required for a bigger presentation about Project Server 2007 and Project Portfolio Server 2007 which was a part of my project. I was configuring my presentation box, Windows Server 2003 Standard with own AD (yes, you’re right I used contoso.com), SQL Server 2005, Project Server 2007 and so on. I installed SQL 2005 engine on a dedicated user, SQLServiceUser but from some strange reason, and I blame my laziness in this part, I decided to configure web application pool for Reporting Services to run under LocalSystem.
Strangely enough during configuration of SQL Reporting Services I couldn’t get my service to start. I found log and here is what I saw:
Error: The user or group name 'LocalSystem' is not recognized.
How on earth name LocalSystem can’t be recognized on Windows? I went to Live.com and started looking for answers. What I found proved I am lazy indeed but also showed me something which is worth to remember for future reference.
When configuring web application pool to run under LocalSystem account the Windows Management Instrumentation (WMI) provider writes an incorrect string in the RSReportServer.Config file (the one usually located in \Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer).
When set to LocalSystem WMI provider writes
<WebServiceIdentity>Local System</WebServiceIdentity>
Instead of
<WebServiceIdentity>NT Authority\System</WebServiceIdentity>
Simple solution is to install web application pool identity to user different than LocalSystem. In my case I used my SQL Server dedicated user and I was back on track.
KB907267, You may not be able to access Reporting Services after you create an application pool that runs under the LocalSystem account was very helpful in finding the cause and resolution.
BTW, this post has number 50 on this blog. This kind of puts me in celebration mode.