Oct
25
2012

SQLServer Error: 17750, Could not load the DLL xpstar90.dll

Environment: SQL Server 2005 x64 SP3

Issue:

While checking a SQL Agent status, found it stopped and when tried to start it is giving following error,

The SQL Server Agent (MSSQLSERVER) service on Local Computer started and then stopped.

Error:

When checked SQLAgent error log file SQLAgent.out (generally located at: %ProgramFiles%\Microsoft SQL Server\<InstanceName>\MSSQL\Log\ or you can check the location of error logs in the startup parameters in advanced tab of SQL services or in Windows environment variables),

 

2012-10-25 06:04:41 – ! [298] SQLServer Error: 17750, Could not load the DLL xpstar90.dll, or one of the DLLs it references. Reason: 126(The specified module could not be found.). [SQLSTATE 42000] (ConnCacheSubsystems)

2012-10-25 06:04:41 – ! [449] Failed to enumerate subsystems (reason: Could not load the DLL xpstar90.dll, or one of the DLLs it references. Reason: 126(The specified module could not be found.). [SQLSTATE 42000] (Error 17750))

2012-10-25 06:04:41 – ? [432] There are 0 subsystems in the subsystems cache

2012-10-25 06:04:41 – ! [000] Failed to load any subsystems. Check errorlog for details.

2012-10-25 06:04:41 – ? [098] SQLServerAgent terminated (normally)

 

 

Resolution:

There might be several reasons for this issue, from other blogs and articles I figure out three reasons,

 

  1. xpstar90.dll is corrupt
  2. xpstar90.dll dependencies are missing
  3. Native client not installed properly

 

Now, please do few things to understand where the issue lies,

 

a)
xpstar90.dll is corrupt
: It’s difficult to identify corruption at first place, you can try following steps,

  • Run following query,

    select
    *
    from sys.dm_os_loaded_modules where
    name like
    ‘%xpstar90.dll%’

 

If you see any record then your xpstar90.dll is loaded but chances are that file is corrupt (if no records found then go to Step b) ), so you can fix it by,

  • Go to xpstar90.dll location, generally it is located in %ProgramFiles%\Microsoft SQL Server\<InstanceName>\MSSQL\Binn\
  • Right click on xpstar90.dll and select properties
  • Go to Version tab, note down File Version, for eg. see below snapshot,

  • Check if you have any SQL Server running on same version and same edition, here in our case we searched for 9.0.4035 and figured out 1
  • Rename xpstar90.dll to xpstar90.dll.old on your existing server where agent failed
  • Copy xpstar90.dll from the new server where agent is running fine to your problematic server
  • Now try to start SQL Server agent, if it run successfully then you nailed the issue, else go to next troubleshooting step 🙂

 

b)
xpstar90.dll dependencies are missing:
Now, if above query doesn’t reflected any record or above solution doesn’t fix issue, then the issue might be missing dependencies, you can troubleshoot it as follows,

  • Download “Dependency Walker” utility from http://www.dependencywalker.com/ (it is free of cost utility, a must have for DBA’s) – download as required for x86 or x64 version
  • This utility is downloaded in form of zip file, so unzip it and it’s ready to use, no need of any installation 🙂
  • Open depends.exe, it will open up as,

  • Now select File, Open and a pop up window will display,
  • Go to the path where xpstar90.dll is available and select the dll file
  • You will see a screen like below (dll loaded and showed some dependency errors), it generally throw a popup error if dll has dependencies missing or some other issue,

    Note: In case xpstar90.dll is corrupt, dependency walker will not load xpstar90.dll at all and show some error text instead like “No DOS or PE signature found. This file is not a valid 32-bit or 64-bit Windows module.”

     

     

  • Now, select OK, and check the ? areas and see what might be the cause

     

  • In my case, the issue was one ATL80.dll was missing from C:\windows\winsxs\amd64_microsoft.vc80.atl_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_fdbc5a54\ folder and I ran the same tool on server where agent was running fine, explored the location of that dll and copied it to my problematic server
  • Note: you can copy location of a dll by doing CTRL+C in the dependency walker by selecting respective missing file or by right clicking it and selecting option “Copy File Path”

     

  • It is not necessary that all which are showing ? are issues, because something’s are like that, so cross verify with any fine running server and you can identify the missing file.
  • Now even above doesn’t resolve your issue, then the issue might be with installation, so go to next troubleshooting step

     

c)
Native client not installed properly
: If the issue is not yet resolved, then try applying any latest Service Pack or Cumulative Update, if that also doesn’t solve issue then try to reinstalling SQL Server Native client from SQL Server setup files (you may try repair option using add/remove programs and if not work uninstall client first and then try reinstall).

Hopefully above solutions should fix your issue like it fixed mine; if still it’s not resolved then try some Googling or open a case with Microsoft if you have premiere support available or can afford one 🙂

 

References:

http://ms-abhay.blogspot.ca/2010/08/could-not-load-dll-xpstar90dll-or-one.html

http://social.msdn.microsoft.com/Forums/en-ZA/sqlgetstarted/thread/a3f62c17-b240-46be-ba57-6ddd72cf5bd5

http://social.msdn.microsoft.com/Forums/en-US/sqlkjmanageability/thread/a0c0d1f4-6ea4-455b-abb1-4c8234265198

http://support.microsoft.com/kb/909967

http://go4answers.webhost4life.com/Example/xpstar90dll-problem-trying-create-188450.aspx

 

 

Dependency Checker related references:

http://www.dependencywalker.com/

http://dependencychecker.codeplex.com/

http://stackoverflow.com/questions/7378959/how-to-check-for-dll-dependency

Download PDF

Related Posts

About the Author: Nitin G

Indian born, trekker, biker, photographer, lover of monsoons. I've been working full time with SQL Server since year 2005 and blogs to post the content aquired during my research on new topics or fixing issues faced by me as a DBA while working in different kind of projects, hope some of my posts may helps others in SQLDBA community. Everything you read on my blog is my own personal opinion and any code is provided "AS-IS" with no warranties!

Leave a comment

Subscribe to this blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 254 other subscribers

Translate this blog!

EnglishFrenchGermanItalianPortugueseRussianSpanish

Calender

August 2020
M T W T F S S
« Nov    
 12
3456789
10111213141516
17181920212223
24252627282930
31  

View Post by Categories

%d bloggers like this: