Solved

wsus error (possible database issue?)

Posted on 2016-07-21
4
206 Views
Last Modified: 2016-08-06
I started having issues with the WSUS console (2012 R2).  It would throw an error but if I click reset server node, then it is ok.  I narrowed it down to a computer group.  When I clicked on the group, it would error out.  I cleared the MMC cache and when I click on the group, it is ok.  However, the default view is 'failed or needed'.  When I change the view in this group to 'any' then it fails again.  It only happens with this one group. I get the same error when trying to view from powershell.  Database is SQL 2012 express.  I have a couple workarounds I could try but wanted to get some opinions first from some SQL experts as to how to troubleshoot since this is a weak area for me.

Log Name:      Application
Source:        Windows Server Update Services
Date:          7/21/2016 8:52:23 AM
Event ID:      7053
Task Category: None
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      <server>
Description:
The WSUS administration console has encountered an unexpected error. This may be a transient error; try restarting the administration console. If this error persists, 

Try removing the persisted preferences for the console by deleting the wsus file under %appdata%\Microsoft\MMC\.


The WSUS administration console has encountered an unexpected error. This may be a transient error; try restarting the administration console. If this error persists, 

Try removing the persisted preferences for the console by deleting the wsus file under %appdata%\Microsoft\MMC\.


System.Xml.XmlException -- '', hexadecimal value 0x16, is an invalid character. Line 1, position 36072.

Source
System.Xml

Stack Trace:
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.ParseNumericCharRefInline(Int32 startPos, Boolean expand, StringBuilder internalSubsetBuilder, Int32& charCount, EntityType& entityType)
   at System.Xml.XmlTextReaderImpl.ParseCharRefInline(Int32 startPos, Int32& charCount, EntityType& entityType)
   at System.Xml.XmlTextReaderImpl.ParseText(Int32& startPos, Int32& endPos, Int32& outOrChars)
   at System.Xml.XmlTextReaderImpl.ParseText()
   at System.Xml.XmlTextReaderImpl.ParseElementContent()
   at System.Xml.XmlReader.ReadStartElement()
   at System.Xml.Serialization.XmlSerializationReader.ReadStringValue()
   at System.Xml.Serialization.XmlSerializationReader.ReadTypedPrimitive(XmlQualifiedName type, Boolean elementCanBeType)
   at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderApiRemotingCompressionProxy.Read1_Object(Boolean isNullable, Boolean checkType)
   at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderApiRemotingCompressionProxy.Read2_GenericReadableRow(Boolean isNullable, Boolean checkType)
   at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderApiRemotingCompressionProxy.Read339_Item()
   at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
** this exception was nested inside of the following exception **


System.InvalidOperationException -- There is an error in XML document (1, 36072).

Source
System.Xml

Stack Trace:
   at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
   at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
   at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
   at Microsoft.UpdateServices.Internal.ApiRemoting.ExecuteSPSearchComputers(String computerTargetScopeXml)
   at Microsoft.UpdateServices.Internal.DatabaseAccess.AdminDataAccessProxy.ExecuteSPSearchComputers(String computerTargetScopeXml)
   at Microsoft.UpdateServices.Internal.BaseApi.ComputerTarget.SearchComputerTargets(ComputerTargetScope searchScope, UpdateServer updateServer)
   at Microsoft.UpdateServices.UI.AdminApiAccess.ComputerTargetManager.GetComputerTargets(ComputerTargetScope searchScope)
   at Microsoft.UpdateServices.UI.AdminApiAccess.BulkComputerPropertiesCache.GetAndCacheComputers(ExtendedUpdateScope updateScope, ComputerTargetScope computerTargetScope)
   at Microsoft.UpdateServices.UI.SnapIn.Pages.ComputersListPage.GetListRows()

Open in new window


PS C:\> Get-WsusComputer
Get-WsusComputer : There is an error in XML document (1, 104891).
At line:1 char:1
+ Get-WsusComputer
+ ~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidData: (Microsoft.Updat...ComputerCommand:GetWsusComputerCommand) [Get-WsusComputer], InvalidOpe 
   rationException
    + FullyQualifiedErrorId : UnexpectedError,Microsoft.UpdateServices.Commands.GetWsusComputerCommand
 

Open in new window

0
Comment
Question by:Seth Simmons
  • 3
4 Comments
 
LVL 7

Expert Comment

by:Hector2016
ID: 41725072
Hello Seth,

Try to find which are the computers on the faulty group, then run the WUAUCLT /reportnow command on these computers to force then to overwrite their data on the WSUS database. Then try to open the faulty group again.

If that fails, you will have to rebuild the entire database (discard and create a new one), or restore a previously saved copy of the database.

Editing the internal records of the WSUS database is not supported by Microsoft as you can read here. If you take that risk you may end with a corrupted database and everything can get worst.
0
 
LVL 34

Author Comment

by:Seth Simmons
ID: 41731159
still working on this
some users are traveling or on vacation
0
 
LVL 34

Accepted Solution

by:
Seth Simmons earned 0 total points
ID: 41737423
i created a new OU and moved all the systems from the old one there
it suddenly started working so whatever it was fixed itself when moving them out
i have since put them back in the original OU and it still works and i now get the correct output from powershell.  didn't have to touch any machine
0
 
LVL 34

Author Closing Comment

by:Seth Simmons
ID: 41745350
issue went away on its own
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

The Delta outage: 650 cancelled flights, more than 1200 delayed flights, thousands of frustrated customers, tens of millions of dollars in damages – plus untold reputational damage to one of the world’s most trusted airlines. All due to a catastroph…
This article shows gives you an overview on SQL Server 2016 row level security. You will also get to know the usages of row-level-security and how it works
Via a live example, show how to set up a backup for SQL Server using a Maintenance Plan and how to schedule the job into SQL Server Agent.
Viewers will learn how to use the SELECT statement in SQL to return specific rows and columns, with various degrees of sorting and limits in place.

832 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question