This blog, originally written by Lisa Shechter, Team Leader for Enavate, is being reprinted with permission. The words popularized by T. Bert Lance, “If it ain’t broke, don’t fix it,” definitely do NOT apply to your software application environment.
As with any big investment, maintenance is key to performance. Follow these tips for keeping your Dynamics servers in tip-top shape.
Develop a regular schedule for systems health checks
It’s important to perform routine maintenance of your Microsoft SQL Database and Application servers regularly. Whether monthly, quarterly or annually, a scheduled maintenance will ensure that changes to the environment have not introduced instability.
Here are a few things that every maintenance check should include:
- Check for error messages in the Event and SQL logs and resolve them. The logs will give a hint of trouble to come or performance issues your end users are feeling in their day jobs.
- Plan for capacity requirements. Your database storage needs should be documented and planned. Even if you have plenty of capacity, watching for unexpected database growth can preempt a problem down the road.
- Document the backup cadence and retention schedules.
- Validate who has access and what kind of access they have. People come and go; make sure your logical access matches the current roster of users.
- Run optimization tools to check for expensive queries and deadlocks. Patching, customizations and data load can impact your daily operations in ways you can’t see unless you look.
- Review your anti-virus configuration and exclusions list.
- Check with your end-users for operating issues and performance complaints.
Test your backups
When was your last backup? Are you sure it worked? The best evidence is to actually test your theory. There was a time when a hardware failure was the biggest threat to our data. These days you have to worry about ransomware and hacking.
The best offense is a good defense. Nothing is more demoralizing than making a recovery plan for your data only to find out the backups are empty or corrupt. It happens more often than you think.
Stay current (where possible)
While troubleshooting in the past, you may have been told “oh, you need the latest patch to resolve that.” Unexpected downtime while testing and implementing patches is impactful and can make end users worry that their systems are not stable. By regularly scheduling patching windows, you can head off problems at the pass.
Now, we all know that sometimes patching can introduce new issues (see Lance’s quote). It’s OK to be choosy here. Only install patches that are critical security patches or are specifically related to your environment. And, if at all possible, test them first on a development environment.
Invest in the test
Speaking of testing, if you don’t already have a development or test environment, consider making the investment. You can mitigate a lot of issues if you take the time to run changes through a test environment first. Many companies opt for test databases, and that works well if you are testing changes to the database or data. But for environment patching and code changes, you will need a separate environment altogether.
Organize your software
Searching for and downloading the exact versions of software and the license keys for your environment takes time. If you are rebuilding as part of a recovery effort, it’s time you don’t have. Make sure vendors leave their code with you and store it with the version number in the file name. Get the source code for any customizations you have. Document SQL recovery scripts and jobs for easier reimplementation.
Document your environment settings
Ah, documentation. That thing we always know we need and rarely make time for. It’s so easy to let it fall to the bottom of our priority list in lieu of the next shiny new project. What’s more, as soon as you hit save, a change is made and you have to update your work to keep it valuable. Include time in every project and every change for documentation. When it comes time to an upgrade, move servers or even test the mettle of the newest hire, your documentation is invaluable.
Find someone who knows what to look for
Applications can be fickle. Each one has its own preferences and settings. Even different applications from the same vendor can require specialized attention as well as configuration of the infrastructure. Consider handing over the maintenance tasks to your application vendor. Have them come in or connect periodically to perform a SQL health check or maintenance event on your servers and read through the documentation they provide.
At Enavate, we have a menu of services our application experts can regularly perform on your behalf to keep your systems running at full speed ahead. If you want to learn more about how we can help with the care and feeding of your Dynamics 365 solution(s), contact us for details.