I have a Win 2008 Server running IIS7. There are a few old ASP sites that still need to live on this box. I enabled ASP and the sites where running fine until yesterday.
Now when the ASP site goes to connect to a database I get a 500 error. In the log I have 8002801d.
Everything I have found so far has referenced registry keys I don't have.
The other odd thing... some info I have found about getting IIS to send the error to the browser shows an ASP icon in the IIS manager. I don't have that icon. I don't know that I ever did.
UPDATE
Hitting any ASP page would cause the error not just the ones connected to a database.
With the ASP icon missing and needing to get this fixed I decided to remove the ASP role. It removed everything under application development. I wasn't expecting that! I then installed everything under application development and rebooted the server.
Problem solved.
It would still be nice to know what was wrong and how to fix it with out doing what I did.
LOGS
#Software: Microsoft Internet Information Services 7.0
#Version: 1.0
#Date: 2010-06-28 19:03:10
#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status time-taken
2010-06-28 19:03:10 ::1 GET /max/ |7|8002801d|- 80 - ::1 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+6.0;+SLCC1;+.NET+CLR+2.0.50727;+.NET+CLR+3.5.30729;+.NET+CLR+3.0.30618) 500 0 0 304
2010-06-28 19:03:16 ::1 GET /BMI - 80 - ::1 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+6.0;+SLCC1;+.NET+CLR+2.0.50727;+.NET+CLR+3.5.30729;+.NET+CLR+3.0.30618) 301 0 0 9
2010-06-28 19:03:16 ::1 GET /BMI/ - 80 - ::1 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+6.0;+SLCC1;+.NET+CLR+2.0.50727;+.NET+CLR+3.5.30729;+.NET+CLR+3.0.30618) 200 0 0 408
2010-06-28 19:03:16 ::1 GET /BMI/Style.css - 80 - ::1 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+6.0;+SLCC1;+.NET+CLR+2.0.50727;+.NET+CLR+3.5.30729;+.NET+CLR+3.0.30618) 304 0 0 1
2010-06-28 19:03:16 ::1 GET /BMI/logo.bmp - 80 - ::1 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+6.0;+SLCC1;+.NET+CLR+2.0.50727;+.NET+CLR+3.5.30729;+.NET+CLR+3.0.30618) 304 0 0 1
2010-06-28 19:18:32 ::1 GET /max/logon.asp |7|8002801d|- 80 - ::1 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+.NET+CLR+2.0.50727;+.NET+CLR+1.1.4322;+.NET+CLR+3.0.04506.30;+.NET+CLR+3.0.04506.648;+InfoPath.2) 500 0 0 184
2010-06-28 19:23:32 ::1 GET /max/logon.asp |7|8002801d|- 80 - ::1 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+(R1+1.6);+.NET+CLR+2.0.50727;+.NET+CLR+1.1.4322;+.NET+CLR+3.0.04506.30;+.NET+CLR+3.0.04506.648;+InfoPath.2) 500 0 0 166
2010-06-28 19:24:05 ::1 GET /max/logon.asp |7|8002801d|- 80 - ::1 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+.NET+CLR+2.0.50727;+.NET+CLR+1.1.4322;+.NET+CLR+3.0.04506.30;+.NET+CLR+3.0.04506.648;+.NET+CLR+3.0.4506.2152;+.NET+CLR+3.5.30729;+InfoPath.2) 500 0 0 296
(generic tips since user updated question as resolved)
In the future, hit the page in question FROM the server it is occuring on (if possible). This forces IIS7 to give a much more detailed view of what is going on. So long as you have local detailed errors on, you will get a screen with extensive details instead of just HTTP 500. This can show you the ISAPI Provider that honored the request. 9 times out of 10 that will show you what's happening and the failure will reveal itself.
If not, turn on "failed request logging". IIS will then dump every peice of data it has when a 500 class error is thrown. Its taxing to go through, but if you really want to know, thats the best way.
The ASP icon should be available when looking at the site... it is under "Application Development" if sorted by category. Double check that you have the ASP role service installed... go to the server manager and you'll see the IIS role on the roles page... there is a "Role Services" option.
Remove the ASP role. See the update in the question. If you know what went wrong post it here.