If it is on the Internet, it must be true
Among many other things, the Internet is a great resource and has revolutionized many things including troubleshooting SQL Server issues. Based on my observations, more often than not, when a SQL Server issue occurs DBAs, Developers or Network Administrators will ask their team if they have seen the issue they are experiencing and for the resolution. Depending on the answer, the next resource that is tapped is their favorite search engine i.e. Google. After a few different keyword searches, you may have your answer in a matter of minutes as compared to combing through book after book to find an answer. So once you have this information what should you really do?
Many people across the Internet spend a significant amount of time to write articles, tips, answering questions and generally sharing their SQL Server knowledge with the remainder of the community. I have heard from a few different individuals that information is read on the Internet and grossly taken out of context. I heard them, but it did not really sink in until I experienced this issue recently. Now that I have, I can see the frustration they experienced when they had to explain to the individual that although the information is correct, it does not pertain to specific issue they are experiencing and will not ultimately resolve the problem. As such, here are some points of reference to consider when reviewing information on the Internet:
- Judgment Call - Use your best judgment, if the information does not seem accurate or pertinent to your scenario, continue to search and find the right information. Just do not jump on the first thing you find because you may not be getting a complete picture.
- Validation - Validate that the information pertains to your version of SQL Server, Windows, ADO.NET, IIS or whatever application you are troubleshooting. Service packs do make a difference and an issue with a different service pack does not necessarily relate to your issue.
- Context - Make sure you do not take the information out of context. Reading one sentence of a 2 page article does not necessarily relate to your topic does not mean that the single sentence can stand on its own.
- Understanding - Be sure to you understand the problem not the symptoms you are facing before you start to resolve the problem. Once you understand the problem, then start looking at the options available to work towards a final solution for the issue.
- Accuracy - Sometimes information is incorrect or out dated. Validate the source of the information, determine if it is applicable and make sure a better approach does not exist. For example, log shipping has been available since transaction log backups could be taken at least since the SQL Server 6.5 days based on my experience, but log shipping did not seem to become popular until the SQL Server 7.0/2000 versions. With SQL Server 2005, Database Mirroring offers a whole new set of functionality for both SQL Server and the application to support high availability. So be sure to survey the industry for all native and third party solutions to have a complete picture before making a final solution selection.
- Planning - Measure twice and cut once is the old adage when it comes to wood working or general construction. For SQL Server related projects in many respects this is no different. The preliminary planning is very critical. For example, to me the actual upgrade from SQL Server 2000 to SQL Server 2005 is not difficult at all i.e. a backup and restore process. It is the preliminary and post upgrade steps that can be tricky in some circumstances especially when you have a new server, new storage subsystem, new OS and new version of SQL Server. Following the upgrade, performance needs to be equal to the previous environment and with 4 major changes all at once, troubleshooting the issue can be difficult. The preliminary step here that is key is load testing. Unfortunately it is too late once you have upgraded and have an issue, so fire fighting can be invoked for some short period of time or a roll back is the next course of action.
- Testing - Test the code or configuration prior to pushing it out to your production environment. Just because it looks like it makes sense and you have seen the issue on a few different forums does not mean your environment is exactly the same and a few mouse clicks will equal the resolution. Be sure to test the change in your development and test environments, to validate that the change will correct the issue and not add any additional issues.
- If you do not have a development and test environment, procure one that will permit you to properly test changes prior to pushing them out to production. Whether it is a virtual environment or not, having a test environment is critical validate and prevent additional issues.
- Consider the following resource when testing SQL Server applications.
- Roll Back - The value in a roll back plan depends on the outcome of the primary plan. If the primary plan works flawlessly then the roll back plan is not needed. If the primary plan has issues then the time spent building the roll back plan is ultimately more valuable than the primary plan.
- Forums - A number of SQL Server forums are available across the Internet, most are applicable to specific topics, so finding the right one might yield an answer quicker than a general forum. Nevertheless, an entry on a forum to see if you can get an answer for your specific issue might be time well spent if your research does not yield beneficial results.
- External Resources - Sometimes you are unable to find the resolution and have limited time to address the issues. When this occurs, consider turning to a external resource to address the need in a rapid manner.
- All of the SQL Server web sites, forums, etc. continue to serve the SQL Server community in new and different ways to learn about the technology and troubleshoot issues in a more rapid manner. The problems and solutions, code samples, answers to questions, web casts, etc. are constantly evolving and providing significant value many people take for granted. It takes time to share the knowledge in a clear, concise and beneficial manner.
- As the DBA ultimately responsible for your SQL Server environment, make sure you do your due diligence when it comes to planning, testing, deploying and if necessary rolling back a change. The preparation may be time consuming, but it will be beneficial when the business does not miss a beat.
- As you learn about new SQL Server features or resolve problems, be sure to share that knowledge to give back to the community.
Last Updated: 2007-07-23
About the author
View all my tips