Recently,I have been working with the Debugger Symbols for SQL Server to generate call stacks and learn more about the internals of SQL Server.
I approached one of our clients about doing this on a non-production system and they thought it be great. They would get better insight on their workload, I would get access to a real workload. win..win, right? Even in their stage environment they have a pretty heavy workload so it would be a good candidate for generating call stack data.
When I sat down to build the debug symbols on their non-production system I could not get it to work for all the binaries that I needed for this test. Not having all the symbols means the function call name resolution will not work for the calls defined in the missing symbol files. Nobody likes spotty data and I wanted to find out why the symbol files did not build.
The system is a SQL Server Enterprise 2012 SP2 + the online index rebuild hotfix 2969896 (build 11.0.5522). So in my test lab I was able to build symbol files for 2012 SP2, then I installed the hotfix and was able to reproduce what I saw on the staging system…missing symbol files.
So I needed an explanation for this and a plausible one is, Microsoft is not providing data on the symbol servers for hotfixed build and likely not for other non-mainstream builds.
These are the binaries that fail once the online index hotfix is applied…likely the binaries affected by the hotfix right?.
SYMCHK: sqlaccess.dll FAILED – SqlAccess.pdb mismatched or not foundSYMCHK: sqldk.dll FAILED – sqldk.pdb mismatched or not foundSYMCHK: sqllang.dll FAILED – sqllang.pdb mismatched or not foundSYMCHK: sqlmin.dll FAILED – sqlmin.pdb mismatched or not foundSYMCHK: sqlos.dll FAILED – SQLOS.pdb mismatched or not foundSYMCHK: sqltses.dll FAILED – sqltses.pdb mismatched or not found
Please feel free to contact me with any questions regarding performance or other SQL Server related issues at: firstname.lastname@example.org