ProgressBook Suite Maintenance SQL and Web Server strategies to combat the mob activity of school systems
Maintenance Plans and SQL Jobs Recommended Indexes and fragmentation Log table growth SQL Settings Log file growth Shrinking databases TempDB files ProgressBook Suite logging Config File Settings Connection string application names Debug and logging settings 64 Bit applications Windows Updates
Maintenance Plans and SQL Jobs Why? How? Dynamic data Database integrity/consistency checks Data corruption Rebuild/reorganize indexes Disk allocation fluctuation Database backups Unused logging Error Log cleanup
Maintenance Plan Options Custom Maintenance Jobs Manual setup through scripts SQL server agent https://ola.hallengren.com/ Maintenance Task Wizard Easy to use Not very customizable
Consistency/Integrity Checks Checks to make sure each object is where SQL says it should be allocated Checks to make sure each piece of data is the data type that SQL says it should be Resource intensive on large databases like StudentInformation Physical only Allows for quick, resource light execution At the cost of detailed check (skips indexes and more) Recommendations: Run an integrity check once a week at night for StudentInformation and GradeBook. Additional: Nightly with Physical_Only for StudentInformation On Error: Backup recovery Drop/recreate bad tables, if possible Repair command
Rebuild and Reorganize Indexes Check fragmentation often using Physical Statistics Report. Right Click >> Reports >> Standard Reports >> Index Physical Statistics Report Rebuild fragmented indexes during emergencies using the rebuild command. Right click index >> Rebuild Reorganize fragmented index during heavy usage, if necessary Lightweight Can be done online all the time Right click index >> Reorganize
Rebuild and Reorganize indexes (Continued) Recommendations: StudentInformation Rebuild on weekends Reorganize nightly GradeBook
Log Table Cleanup Software Answers creates large logging tables Ongoing problem checks Must create SQL Job Recommended: Pb_master: Truncate Elmah_Errors table nightly CentralAdmin: Delete security audits older than 30 days Stored procedure is set up in CentralAdmin Dbo.DeleteOldSecurityAudits StudentInformation: Delete log table values older than 30 days
Backups Stores a copy of your database Full All the data Stores snapshot at the time of the backup execution Also used to recover pieces of data that may have been mistakenly removed Differential Cumulatively adds the changed data to a current full backup after a specified amount of time Transactional Backs up transaction logs Can restore to a specific point Resource intensive Recommended: All databases: nightly full backups Keep databases for a week Sufficient for the size and activity of Software Answers’ products Simple recovery set on databases
Maintenance Task Option Maintenance plan easiest to first create through the wizard Once done, you can edit the task Set properties after wizard Can also run scripts through a maintenance task
Shrinking Databases Used to release large quantities of freed disk space Pros: Regain disk space from allocated Cons: Reallocation (auto-growth) of new disk space during uptime can cause poor performance Growth can cause fragmentation Recommendations Only shrink after very large log table truncation/deletion when trying to free up disk space Set Database/Log autogrowth to: StudentInformation: 2GB, Unlimited GradeBook: 500 MB, Unlimited
Adding TempDB Files Recommended: 1 TempDB file per logical CPU All SQL server instances Helps complete I/O faster through having multiple channels Improves performance TEMPDB files
Logging For ProgressBook Applications Where to look for particular application errors
ELMAH: ParentAccess and Virtual Classroom Elmah errors Error logging modules and handlers Accessed 2 ways Log table pb_master.dbo.ELMAH_Error Page in ParentAccess …/elmah Report of latest ELMAH errors Errors on page reflect table User column provided to narrow results to particular parent
Log4Net_Log: Gradebook & PublishService File and DataBase table Level adjusted in config file ALL or INFO – For gathering every action ERROR – Errors and ratal errors Applications GradeBook Report Card Publish Service ParentAccess Events Provides less descriptive results than elmah
SpecialServices Errorlog SPS writes to pb_district.dbo.ErrorLog table on each error page Contains a studentID and UserId column to search from scope of error
StudentInformation and Vendorlink Log Table VendorLink calls DataMap errors also Symptoms to look in Log table Failed VendorLink calls 500 Errors Emailed DASL Exceptions These are not logged in database
Central Security Audit CentralAdmin.Audit.Security Audits every user login/logout Easy access to prove malicious logins of particular users Provides application and security actions handled for the user Sign in/out Locked account Password reset
Config Recommendations StudentInformation Debug = False Adjusted in 15.0 ConnectionStrings Rename Application Name value to proper app name GradeBook ParentAccess Log4Net logging Set to “Error” unless problem arises GradeBook ParentAccess Report Card Publish Service
Other Recommendations Software Answers tests on the latest Microsoft Updates. Recommended: Keep Windows and SQL server updated Recommended: Change application pool to 64 bit–except for GradeBook StudentInformation ParentAccess CentralAdmin SpecialServices