You can troubleshoot this. You probably have several ASP 3.0 Web sites with poor coding practices. ASP 3.0 encouraged poor coding practices -- it's very easy for developers to create objects that never get destroyed or closed. Eventually, ASP (and IIS) will crash. You can spend weeks find one of the errors, and then you will have to work with the ASP application developer to fix the problem. Then, you can move on to the next problem. With 40 Web sites, you probably have dozens of such bugs -- possibly hundreds of bugs.
Or, there are a couple of workarounds that will probably be much cheaper for you to implement.
First, install all updates and service packs by visiting http://windowsupdate.microsoft.com.
Second, on the Windows 2000 Server, use the Internet Services Manager to view the Home Directory tab of each Web site's properties and set each Web site to High Application Protection. This will cause the Web sites to consume more memory on your Web server, but it should prevent Inetinfo.exe from crashing completely. Really, you only need to do this on the sites that use ASP. If a Web site is HTML only, you can safely leave the site to Low Application Protection -- but you should use the same dialog to disable Scripts Execute Permissions.
Third, and this is my recommendation, you can upgrade the server to Windows Server 2003. Windows Server 2003 and IIS 6.0 are much better at recovering from this type of failure. IIS 5.0 is simply not well suited for hosting multiple Web applications (even though that's a very common scenario).
This was first published in October 2004