Sql-server – Error: CImageHelper::Init () Failed Load of symbol file with path

availability-groupssql serversql-server-2017

Using SQL server 2017 (14.0.3029.16) with Always On High Availability environment.

Getting error:

CImageHelper::Init () Failed load of symbol file with path = C:\Program Files\Microsoft SQL Server\MSSQL14….. Error Code 0xc0000004

There is nothing before or after this error and all I have to go by is a SPID. there is no set time, its happened once at 12:30AM and another time at 10:1 5AM.

I did some googling and there was one recommendation of reducing the MAXSIZE of the server memory. We have it set to 433,600 with 500,000 available.

How can I solve the problem and get rid of this error?

Additional information

  • Total RAM on the server is 500GB
  • Forced encryption is not enabled

Responses to comments

  • Anything in windows event log – app or system? Any mini dumps generated?

    Event viewer has nothing that correlates with those time frames but something I will have to review further because I do see some errors.

  • For mini dumps – just check select * from sys.dm_server_memory_dumps

    Nothing came back.

Best Answer

I resolved this by navigating to C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Binn on the SQL server and modifying two ini files within the Binn folder. The first is "sqlctr" and the second is "sqlagtctr." Upon opening the files you will see that both contain "symbolfile=[SYMBOLINSTALLPATH]\sqlagtctr.h" or "symbolfile=[SYMBOLINSTALLPATH]\qlctr.h" nested under [info].

By replacing [SYMBOLINSTALLPATH] with the fully qualified path of C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Binn and restarting the SQL service I was able to get the issue resolved. For example, the beginning file content should now look similar to the following:

[info]
drivername=[DRIVERNAME]
symbolfile=C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Binn\sqlagtctr.h