Upgrade to 2.1 - Cannot connect to Base Monitor Service

cjlotzcjlotz Posts: 45
edited January 6, 2011 5:47AM in SQL Monitor Previous Versions
Hi

After upgrading to 2.1 SQL Monitor cannot connect to the Base Monitor service. It is giving me a The credentials supplied to the package were not recognized error. I've gone through all the documentation to verify that the accounts are setup correctly but the problem still persists.

Our setup is both the Web server and Base Monitor running on the same WS 2008 R2 server. The Web Server is running in IIS. I've verified that the Base Monitor Service is running and using the Windows Account that has db_owner permissions on the Data Repository.

I had a look at the log files and the only errors I get in the event log are:
Log Name:      Red Gate Software
Source:        SQL Monitor 2
Date:          2011/01/04 07:56:52 AM
Event ID:      0
Task Category: None
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      Prods-TFS.pragma.co.za
Description:
2011-01-04 05:56:52,712 [6] ERROR RedGate.Response.Common.Networking.Server.AsynchronousSocketListener [(null)] - System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. ---> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host
   at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
   at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
   --- End of inner exception stack trace ---
   at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
   at System.Net.FixedSizeReader.ReadPacket(Byte[] buffer, Int32 offset, Int32 count)
   at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult)
   at System.Net.Security.SslStream.AuthenticateAsServer(X509Certificate serverCertificate, Boolean clientCertificateRequired, SslProtocols enabledSslProtocols, Boolean checkCertificateRevocation)
   at (Object , X509Certificate , Boolean , SslProtocols , Boolean )
   at #1jv.#nkv.#RLv(Stream )
   at #1jv.#0jv.#yco(Socket )

Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="SQL Monitor 2" />
    <EventID Qualifiers="0">0</EventID>
    <Level>2</Level>
    <Task>0</Task>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2011-01-04T05:56:52.000Z" />
    <EventRecordID>242</EventRecordID>
    <Channel>Red Gate Software</Channel>
    <Computer>Prods-TFS.pragma.co.za</Computer>
    <Security />
  </System>
  <EventData>
    <Data>2011-01-04 05:56:52,712 [6] ERROR RedGate.Response.Common.Networking.Server.AsynchronousSocketListener [(null)] - System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. ---> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host
   at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
   at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
   --- End of inner exception stack trace ---
   at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
   at System.Net.FixedSizeReader.ReadPacket(Byte[] buffer, Int32 offset, Int32 count)
   at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult)
   at System.Net.Security.SslStream.AuthenticateAsServer(X509Certificate serverCertificate, Boolean clientCertificateRequired, SslProtocols enabledSslProtocols, Boolean checkCertificateRevocation)
   at (Object , X509Certificate , Boolean , SslProtocols , Boolean )
   at #1jv.#nkv.#RLv(Stream )
   at #1jv.#0jv.#yco(Socket )
</Data>
  </EventData>
</Event>


Can you please assist me in getting this working again.

Thx

Comments

  • Hi,

    Please try the following steps:
      Open C:\ProgramData\Microsoft\Crypto\RSA or C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA in windows explorer
      Right click on "MachineKeys" to bring up the properties dialog
      Click on the Security tab
      Remove all users except "Everyone" and "Administrators"
      Edit the permissions for "Everyone" to Allow everything except Full Conrol
      Click OK
      Restart the Response Services
      If the error still shows, repeat steps, but set "Everyone" to allow "Full control"
  • The issue is related to the account permissions for the identity under which the Application Pool for SQL monitor is running in IIS. When I change this a domain account with Administrator rights the issue disappears. However, ideally I don't want to run the App Pool using an administrator account. I have verified that the previous ApplicationPoolIdentity has the necessary rights on the SQL Monitor folder using icacls as described in your knowledge base. For now the site is running, but I still want to not use the Admin account.

    Thx
  • Monitor will create a SSL key at first run, so once it has been created the permissions required should be less. It might be worth trying to reduce the permissions now that a key has been created?
Sign In or Register to comment.