Unable to connect to the Data Repository

andrewbellandrewbell Posts: 2
edited July 12, 2011 11:25AM in SQL Monitor Previous Versions
Hi

I have been trying to get SQL Monitor 2.3 working with a Denali ctp1 Always-On setup. I have installed the base and web monitor on the same box (the primary box in the cluster)

The install seems to go OK and the services start. However, when i go to the site it brings up the following message
Unable to connect to the Data Repository
Value cannot be null. Parameter name: value

in the event log i find the following:

2011-07-12 09:42:08,942 [6] ERROR RedGate.Response.Engine.Alerting.Base.Service.MonitoringAndStorageService [(null)] - Will retry in 5 seconds.


2011-07-12 09:42:08,936 [6] ERROR RedGate.Response.Engine.Alerting.Base.Service.MonitoringAndStorageService [(null)] - Unhandled exception in delayed start.
System.ArgumentNullException: Value cannot be null.
Parameter name: value
   at System.BitConverter.ToString(Byte[] value)
   at #RVG.#esG.#tQb()
   at #Wze.#euG.#gOb(Int32 , String , Int32 , Int32 , String )
   at #RVG.#mNH.#0IH()
   at #RVG.#kNH.#3IH(Boolean )
   at #eLv.#qNV..ctor(#nNV , RepositorySettingsSection , CollectionSettingsSection , AlertSettingsSection , #ffZ )
   at #eLv.#dLv.#ANV()

Is this an issue or have i just mucked up account permissions somewhere?

Andrew

Comments

  • Hi Andrew

    We don't currently support the Denali CTPs but I have briefly tested that it is possible to use CTP2 for the data repository. It's possible that this is a permissions issue and definitely worth double-checking that the account the base monitor runs under has the correct permissions for the data repository.

    There's also a possibility that we're not handling mirrored/AlwaysOn databases correctly. I've done some research on Denali's AlwaysOn feature and one thing I noticed was that some sources suggested that the connection string needs an specific attribute that supplies the initial partner name.
    The connection string must contain a Server attribute that supplies the initial partner name, which should identify the current principal server instance.
    The simplest way to identify the server instance is by specifying its name , <server_name>[\<SQL_Server_instance_name>]. For example:
    Server=Partner_A; or Server=Partner_A\Instance_2;
    We store the connection string in "C:\ProgramData\Red Gate\SQL Monitor 2\RedGate.Response.Engine.Alerting.Base.Service.exe.settings.config". Near the bottom of the file there should be a line like this:
    &lt;add name="DataConnectionString" connectionString="Data Source=servername;Initial Catalog=RedGateMonitor;Integrated Security=True;Application Name=&quot;SQL Monitor - Repository&quot;"/&gt;
    
    If all else fails it could be worth modifying this to have a Server=<primary box name> attribute. It's probably worth creating a backup copy of the file beforehand in order to easily undo the changes.

    Hope this helps
    Chris
    Chris Spencer
    Test Engineer
    Red Gate
Sign In or Register to comment.