MPughDBA avatar image
MPughDBA asked

Is anyone aware of any issues with service packs that cause issues with the sysmessages table?

We have recently patched SQL Server 2008 R2 with SP2 and are now seeing the following errors being reported in the SQL Error Log at regular intervals: Error: 18058, Severity: 17, State: 0. Failed to load format string for error 362, lahguage id 1033. Operating System error: 317(failed to retrieve text for this error. Reason 15105). Check that the resource file matches SQL Server executable, and resource file in localized directory matches the file under English directory. Also check memory usage. It is possible that this issue has been dormant for some time and existed prior to the patching exercise, however I have not been able to confirm this. Clearly some event is occurring and SQL is trying to obtain the description of the error. The same issue also exists on three other servers which have also been patched recently. I have examined the Bootstrap log files on all servers and all report that the patching was successful. If I run the following SQL on the servers I also get the same error which suggests an issue with the sysmessages table. select * from sysmessages; Any guidance/help on this will be gratefully received.
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

1 Answer

sp_lock avatar image
sp_lock answered
Not sure if this help, but I had a similar issues where the resource DB was saying it was corrupt. The resolution in my case was to patch the SQL server to the latest SP and CU (but this will depend on your patching strategy). Did you come across the link [here][1]? It looks to describe the error you are receiving and the possible steps to resolve. [1]:
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

MPughDBA avatar image MPughDBA commented ·
The issue was caused by the application of SP1. The update failed to replace the sqlevn70.rll file. Instead it left the latest version of the file in the same folder as a temporary file, suffixed TMP. To resolve the issue: Stop the SQL instance Delete the old sqlevn70.rll file Rename the temp file sqlevn70.rll Restart the SQL instance Test by doing a select * from sysmessages;
2 Likes 2 ·
MPughDBA avatar image MPughDBA commented ·
Many thanks for the response, very much appreciated. I had found the article concerned so thanks for that. It looks like the issue has been dormant for a long time and not related to the patching of the servers like initially thought. We recently turned on a monitoring tool which is running a query against the sysmessages table. The sysmessages table is either corrupt or the wrong version for the database engine. I'm now looking at how to rectify this problem. Interestingly I looked through all the Bootstrap logs for installation and patches on all the servers and couldn't find any references to the sqlevn70.rll file which clearly gets updated in patches. That I found a bit worrying but assumed it was down to the fact it was part of SQL Server that Microsoft don't want us to play with. Thanks again for your reply.
0 Likes 0 ·

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.