This gave me some problems since I couldnt get in remotely (ISA wouldnt let any traffic thru) to change the ISA logging configuration and restart the services.
I found a way to have ISA reconfigure itself to use text logging and restart its services by using alerts and events in case ISA cant connect or authenticate to its ODBC data source.
1. Reconfigure all three services in the Logs node to log to text files and save the configuration. Do not restart the services since this is only a temporary configuration.
2. Start the registry editor (Regedit.exe) and export the following branch to the root of the c: drive. Name the file txt-logs.reg:
Verify that you have a registry file on your c: drive called: txt-logs.reg
3. Configure all three services in the Logs node back to log to your already defined ODBC data source and save the configuration. (I assume you were already using an ODBC data source for logging). Do not restart the services since the reconfiguration in step 1 was never in effect (we didnt restart the services in that step).
4. Configure Invalid ODBC log credential alert in the Alerts node. On the General tab; make sure that alert is enabled. The Events tab should be left unchanged (let the event fire on the first occurrence). The Actions tab is where the important configuration is done. Check the Program switch and enter regedit /s c:\txt-logs.reg in the Run this program field. This will let regedit merge the registry branch we saved earlier back into the registry and reconfigure ISA to log to text logs. The /s switch after regedit will do it in silent mode (you will not get an annoying dialog on the screen telling you the branch was imported into the registry). Check the Stop selected services switch, click on the Select button and make sure all three services are selected. Then check the Start selected services switch, click on the Select button and make sure all three services are selected. This will stop and then start all three services so that the reconfiguration of the logging that was entered into the registry will take effect.
I tested this setup by all of a sudden just downing my SQL server. The alert came up which then triggered the event that modified my registry and restarted the services. It worked beautifully. There was only a short (seconds) interruption of the services.
Once the database server is again available I can reconfigure the ISA back to ODBC logging and restart the services manually. Also the text logs can be imported back into your database server using Access or Foxpro.
It might be a good idea to also send an e-mail alert in case this happens, since the re-configuration and starting/stopping of the services is pretty transparent.
The reconfiguration options based on alerts are endless when you know where to pull the configuration parameters out of the registry (and merge them in again).
Hope this is a helpful little trick.