Jump to content
Welcome to our new Citrix community!
  • 0

After upgrade to XenDesktop 7.9 controllers not visible in studio - cannot communicate with the database


Surya Prakash JOYMUNGUL

Question

We recently upgraded from XA/XD 7.6 to 7.9.

 

On the Delivery controllers, we are able to connect to studio and see the configurations and the apps. HOwever, we are not able to see the controllers. We have the following error message:

 

cannot communicate with the database

 

All the DC servers accounts are authorised at the MS Sql 2012 level.

 

Any help on the issue?

 

 

The error details are as follows:

 

Error Id: XDDS:826D8FE0
 
Exception:
    Citrix.Console.Models.Exceptions.ScriptException Cannot communicate with the database.
       at Citrix.Console.PowerShellInteraction.CmdletExecutionMethods.CreateException[T](ICommonLog logger, ExecutionResults`1 results, ICmdletExecutionHost host)
       at Citrix.Console.PowerShellInteraction.CmdletExecutionMethods.Execute[T](ISdkCmdlet`1 sdkCmd, ICmdletExecutionHost host, Boolean allowFailover)
       at Citrix.Console.PowerShellSdk.BrokerService.Scripts.GetControllersScript.AddZonesToModels(IList`1 controllerModels)
       at Citrix.Console.PowerShellSdk.BrokerService.Scripts.GetControllersScript.RunScript()
       at Citrix.Console.PowerShellInteraction.PowerShellScript`1.Run()
       at Citrix.Console.PowerShellSdk.BrokerService.PSBrokerService.GetBrokers()
       at Citrix.Console.Brokers.UI.Mmc.BrokersTabViewModel.<>c__DisplayClass4.<OnRefresh>b__0()
       at Citrix.Console.CommonControls.ViewModelBase.<>c__DisplayClasse.<RunBackgroundTask>b__c(Object s, DoWorkEventArgs e)
    
    DesktopStudio_ErrorId : DatabaseError
    Exception : System.NullReferenceException: Object reference not set to an instance of an object.
       at Citrix.Fma.Sdk.Filtering.TypeCache.<>c__DisplayClass1`2.<CastAndInvoke>b__0(Object t, Object o)
       at Citrix.Fma.Sdk.Filtering.TypeCache.SetProperty(Object instance, String property, Object value)
       at Citrix.Fma.Sdk.Filtering.SdkObjectReader.ReadSdkObject(DbDataReader db)
       at Citrix.Fma.Sdk.Filtering.FilteringDal.GetCommonReader(Func`2 reader, Int32 maxResultCount, Object[]& sdkObjects, DbDataReader query)
       at Citrix.Fma.Sdk.Filtering.FilteringDal.GetCommonTx(CdsTx txProvider, String query1, String query2, IEnumerable`1 sqlParameters, Func`2 reader, Nullable`1 sqlQueryTimeout, Int32 maxResultCount, Boolean returnTotalAvailableResultCount, Int32& totalAvailableResultCount, Object[]& sdkObjects)
       at Citrix.Fma.Sdk.Filtering.FilteringDal.<>c__DisplayClass3.<GetCommon>b__0(CdsTx tx)
       at Citrix.Fma.Sdk.Dal.BaseTxProvider.RunBatch(CdsTx tx, CdsTxAction txAction, String txName, Int32 retryNumber, Exception& originalException)
       at Citrix.Fma.Sdk.Dal.BaseTxProvider.Execute(String txName, CdsTxOptions txOptions, CdsTxAction txAction)
       at Citrix.Fma.Sdk.Filtering.FilteringDal.GetCommon(ICdsTxProvider txProvider, String query1, String query2, IEnumerable`1 sqlParameters, Func`2 reader, Nullable`1 sqlQueryTimeout, Int32 maxResultCount, Boolean returnTotalAvailableResultCount, Int32& totalAvailableResultCount, Object[]& sdkObjects)
       at Citrix.Fma.Sdk.Filtering.FilteringLogic.GetCommon(IQuerySchemaProvider schemaProvider, ICdsTxProvider txProvider, String operationName, IDictionary`2 arguments, String groupByProperty, ScopeList scopeIds, Nullable`1 sqlCommandTimeout, Int32 skip, Int32 maximumResultCount, Boolean returnTotalAvailableResultCount, Int32& totalAvailableResultCount, Object[]& records)
       at Citrix.Fma.Sdk.ServiceCore.CommonCmdlets.CommonCmdletsDal.CommonGetLogicDefault(String operationName, IDictionary`2 arguments, String groupByProperty, Guid[] gettableScopeIds, Int32 skip, Int32 maximumResultCount, Boolean returnTotalAvailableResultCount, Int32& totalAvailableResultCount, Object[]& records)
       at Citrix.Fma.Sdk.ServiceCore.CommonCmdlets.CommonCmdletsDal.CommonGetLogicDispatcher(String operationName, IDictionary`2 arguments, String groupByProperty, Guid[] gettableScopeIds, Int32 skip, Int32 maximumResultCount, Boolean returnTotalAvailableResultCount, Int32& totalAvailableResultCount, Object[]& records)
       at Citrix.Fma.Sdk.ServiceCore.CommonCmdlets.CommonCmdletsDal.CommonGetLogic(String operationName, IDictionary`2 arguments, String groupByProperty, Guid[] gettableScopeIds, Int32 skip, Int32 maximumResultCount, Boolean returnTotalAvailableResultCount, Int32& totalAvailableResultCount, Object[]& records)
    Sdk Error Message : A database operation failed and could not be recovered : Reason Object reference not set to an instance of an object.
    Sdk Error ID : Citrix.XDPowerShell.Status.DatabaseError,Citrix.Configuration.Sdk.Management.Commands.GetConfigServiceCommand
    ErrorCategory : NotSpecified
    DesktopStudio_PowerShellHistory : GetControllersScript
    12/1/2016 2:53:11 PM
    
    Get-BrokerController  -AdminAddress "afdbhqxddc01.afdb.local:80" -MaxRecordCount 2147483647
    Get-ConfigService  -AdminAddress "afdbhqxddc02.afdb.local:80" -MaxRecordCount 2147483647
    Get-ConfigService : A database operation failed and could not be recovered : Reason Object reference not set to an instance of an object.
    + CategoryInfo : InvalidOperation: (:) [Get-ConfigService], InvalidOperationException
    + FullyQualifiedErrorId : Citrix.XDPowerShell.Status.DatabaseError,Citrix.Configuration.Sdk.Management.Commands.GetConfigServiceCommand
    
    
 

 

Link to comment

13 answers to this question

Recommended Posts

  • 0

There could be stale entries existing in the database after the upgrade. A scout with CDF trace will need to be submitted to support to verify. 

 

Are you able to add new controller to site? If yes, once new controller is successfully added and functional in Site the other controller can be evicted https://support.citrix.com/article/CTX139505/ [ backup all databases and snapshot servers ]

Link to comment
  • 0

We had the same issue after an update. The solutions is very simple, but it took a lot of time to find it. 

 

Get-ConfigService command is looking in .Service tables for information like SID, UUID...., so if you have a $null for some of this "cells" you get " Reason Object reference not set to an instance of an object". In our case the problem was a Controller that was deleted in the past. The SQL DB had a roll with $null values in 5 different tables  "DAS.Services" for example. After deleting these rolls everything was back to normal.

Link to comment
  • 0
On 11/4/2018 at 8:32 AM, Mtel OS Admins said:

We had the same issue after an update. The solutions is very simple, but it took a lot of time to find it. 

 

Get-ConfigService command is looking in .Service tables for information like SID, UUID...., so if you have a $null for some of this "cells" you get " Reason Object reference not set to an instance of an object". In our case the problem was a Controller that was deleted in the past. The SQL DB had a roll with $null values in 5 different tables  "DAS.Services" for example. After deleting these rolls everything was back to normal.

I have the same problem. What procedure did you do exactly?

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...