VS .NET now allows you to debug processes remotely, and to detach from those processes when you're finished. There may be a few quirks, but at least you have a chance at debugging live production systems now.
The types of logs needed for debugging traditional applications aren't necessarily ideal for debugging web pages. ASP.NET provides its own set of logging classes for just that reason. These classes give you huge amounts of useful debugging information with almost no effort on your part.
You can use ASP.NET logging in the same project as traditional logging. There are a few points to watch for, but it works and can give you the best of both worlds.
VS .NET now supports debugging SQL stored procedures. You can step into them either directly or by setting breakpoints and waiting for your application to reach them.