There are actually valid reasons for the console being in read-only mode such as the ones listed below:-
* You connect to a primary site before it completes the Configuration Manager site installation.
*You connect to a primary site that has intersite replication problems.
* You connect to a primary site during a site restoration of that site.
* You connect to a primary site when that site is initializing global data.
in this case it ended up being an issue with my primary server and specifically with the SQL Broker Service. To find out how I determined what was the cause read on.
After powering on one of my CM12 labs and logging on to the primary site P01 I noticed the following window popup when i started the Admin Console:
Your Configuration Manager console is in read-only mode while this site completes tasks related to maintenance mode. After these tasks are complete you must reconnect your Configuration Manager console before you can edit or create new objects.
(Can you spot the missing ‘r’ in the message below ?)
After you click OK you get to see the console but look at the title bar, Connected to READ-ONLY is clearly visible.
Looking at my Site Hierarchy I can see that the Global Data Replication Status is Unknown between CAS and my Primary site P01 (and vice versa) and in addition the Site Data Replication status is unknown.
Looking further into this select Database Replication in the Monitoring workspace to get Database replication status, it was listed as Unknown
and finally opening the rcmctrl.log file in D:\Program Files\Microsoft Configuration Manager\Logs\rcmctrl.log reveals that the current site status is ReplicationMaintenance. In addition it states that the site is NOT active, so not calling the DrsActivation Procedures.
As I hadn’t powered on these virtual machines (one of my CM12 Labs) in a while, this was understandable, so it seemed that all I had to do was wait until it was complete. I waited over an hour and the site was still the same according to the rcmctrl.log on P01.
Troubleshooting on CAS using the Replication Link Analyzer.
To troubleshoot further, I logged on to the CAS server and after reviewing the Database Replication status on that server, I could see it showed a different story, first of all the Administrator console opened with no problem on CAS and secondly Database replication was listed as being Active on CAS but the link has failed between it and the primary child site. This was not good, link status can be in one of three states.
- Link is active
- Link is degraded
- Link has failed
Now was a good a time as any to run the Replication Link Analyzer. I clicked on it and answered yes to the UAC prompt. The replication link analyzer started.
after a while it presented me with the following screen, which wanted to reset queued replication messages (or skip this rule)
I selected reset.
which produced a new message, namely that the timeout had expired while attempting to launch the Replication Link analyzer engine on P01, however it did provide me with a ReplicationLinkAnalysis.log file saved on my Desktop.
Opening ReplicationLinkAnalysis.log with CMTrace revealed the following:-
ReplicationLinkAnalysis Error: 1 : Timeout Expired. The timeout period elapsed prior to completion or the server is not responding.
So basically the log file above is telling us that it stopped running tests due to the failure of one of the Replication Link Analyzer rules. These rules are listed in the ReplicationLinkAnalysis.xml file. The following rules are checked:
- SMS service is running
SMS Replication Configuration Monitor component is running
Ports required for SQL replication is enabled
SQL version is supported
Network is available between the two sites
There’s enough space for SQL Database
SQL Server Broker service configuration exist
SQL Server Broker service certificate exist
Any know errors in SQL log files
Are the replication queues disabled
Time is in sync
Is the transmission of data stuck
Does Key Conflict exist
Looking at the ReplicationLinkAnalysis.XML file placed on the desktop we have more info about the testing done by the replication link analyzer including where it failed, namely during the DoesBrokerConfigurationExist on P01.
Now we know our issue is related to the SQL Broker Service, so we should check out the error log for SQL to see what it says, that error log is located at D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\ErrorLog and that revealed SQL error 3961 which is:
Snapshot isolation transaction failed in database ‘%.*ls’ because the object accessed by the statement has been modified by a DDL statement in another concurrent transaction since the start of this transaction. It is disallowed because the metadata is not versioned.
Ok at this point it looks like the SQL database on P01 is confused, probably due to server load at the time of booting up the server, and due to the fact that the SQL server itself was sitting on the same PID since the 4th of July along with more than two weeks of the virtual machine being in a saved state. I could wait some more or try restarting the SMS Executive service or a reboot of the server. As this is my LAB I had enough of the troubleshooting and did a reboot.
After the reboot (of P01) I ran the Replication Link Analyzer again (on CAS) and this time the SQL Broker Service on P01 was working however the site was still replicating, a few minutes later in rcmctrl.log I could see that the Current Site Status had finally changed to ReplicationActive.
And that means that I can start the console again, without it being READ-ONLY !
Hopefully this post will help you in troubleshooting site to site replication problems should they occur, to conclude please take note of the following:-
To replicate data between ConfigMgr sites, Configuration Manager uses Database Replication Service(DRS). DRS uses SQL Server Service Broker (SSB) to replicate data between the sites.
Configuration Manager database replication uses SQL Server to transfer data and merge changes that are made in a site database with the information stored in the database at other sites in the hierarchy. This enables all sites to share the same information. Database replication is automatically configured by all Configuration Manager sites. When you install a site to a hierarchy, database replication automatically configures between the new site and its designated parent site. When the site installation finishes, database replication automatically starts.
- For more details about Database Replication Service – Technet
- For more details about SQL Server Service Broker – MSDN
- Service Broker Troubleshooting – MSSQLTips
Tips for troubleshooting SC 2012 Configuration Manager Data Replication Service (DRS) – MSDN Blogs.
until next time, cheers
Pingback: System Center 2012 Configuration Manager Survival Guide (en-US) « tech2guys
Pingback: System Center 2012 Configuration Manager Step By Step Guides | just another windows noob ?