The first procedure is based on the process found in Books Online. However the cursor has been replaced with a while loop and modified to accept a database name as a parameter. Using dynamic sql I was able to overcome the issue in having to deploy to each db on the server. The procedure will REORGANIZE any indexes that have a fragementation level between 20 & 30 percent and has a page count greater than 10. The REBUILD parameter will be used if the fragmentation level is 30 percent or above. I have also added the ability to log information into a table regarding start & end times (currently set to Insert into DBInfo in a database named MAINT). Uses the SORT_IN_TEMPDB and ONLINE options (Please see BOL for more information on these options before deploying to your environment).
The second procedure will cycle through each non system database on the server and execute the uspIndexMaintenance script.