Summary
Description
Troubleshooting intermittent issues relies on tracking the consistency and regularlity of the problem in order to track down the cause. Below is some guidance which may help you with your investigation.
Resolution
Establish the Facts
It is important to try and gather as much information as possible to establish a pattern or common factor.
Build-in processes to identify when the problem has occurred – If you know the feature that sometimes results in a problem or discrepancy you could simply get the end-user to check each record straight after it has been created or amended, alternatively a report could be created to identify affected records (which is then run periodically).
Keep a log of occurrences of the problem – Ask the users to capture as much information as possible to identify if there is any pattern or common denominators to when the problem occurs.
Set up a Maintenance Plan to ensure daily backups are taken of the data – This will help to provide a restore point prior to the problem occurring which can be used to try and replicate the problem.
Turn on debug logging – Look for any errors around the time of the issue occuring. For further information on the log files click here.
Ruling out the usual suspects
Eliminate Bespoke – This guide provides a workaround to temporarily eliminate bespoke, however it only ignores the custom tables and a full removal may still be required to fully rule out bespoke. This may need to be applied for a period of time depending on the issue.
Eliminate the influence of 3rd Party Apps - For example Antivirus/Firewall. Consider running in Safe Mode with Networking or using MSConfig to switch off everything except essential windows services.
Access rights, Network, and peripheral application settings - Group Policy, DEP, UAC, Network\Domain configuration, Folder Redirection (UPD), SQL (collation, compatibility level, memory allocation), IE (advanced security), IIS (certification, authorisation).
Drilling down to determine the root of the problem
If you are unsure what process may have caused the problem – It may be possible to identify what caused the issue by checking the SysFeatureAreaLogging table for information on any related processes that were being used in or around the time of the problems occurring.
If the problem is network-wide try and recreate it on a copy of the data in a test company onsite – This may involve a certain level of spamming of the affected process\areas but if this proves fruitful it will give you a better chance of identifying the cause (as it may allow you to utilise tools such as Microsoft SQL Server Profiler).
If the problem is only affecting certain PCs - Try to identify what the affected PCs have in common and what makes them different from none affected machines (software such as Belarc Advisor can be used to quickly identify these differences).
If the is only affecting certain users - Compare the user's profile to working users, consider rebuilding the affected user's profiles or creating test profiles.
Useful Tools
Event Viewer - This can provide additional information when an application closes unexpectedly, see this article for further information.
Process monitor - This monitors real-time file system, registry, and process/thread activity, it can be a very useful tool for troubleshooting application crashes but it is especially useful when an application hangs without response – See https://docs.microsoft.com/en-us/sysinternals/downloads/procmon for further information.
Upgrading your licence
Need a little more room? To add extra companies, users, employees or more to your software licence, leave your details and we'll be in touch.