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

Unable to add 3rd delivery controller


Mike van der Ham1709158797

Question

Currently, I have 2 delivery controllers (2012R2), 7.15 ltsr.

I tried to add a third delivery controller 7.15 ltsr based on 2016 server.

My account is sysadmin on the SQLdatabase, however , I got an error failed to update database xxxxx.

 

I'm connecting to an always on sql cluster.

 

This is the error:

Error Id: XDDS:1E9F32BB

 

Exception:

    Citrix.Console.Models.Exceptions.ScriptException Failed to update database XenappSite on server xxxxx.in.biz\Xenapp7,48051.

       at Citrix.Console.PowerShellSdk.DatabaseService.Scripts.UpdateDatabaseScript.DoImpersonatedWork()

       at Citrix.Console.PowerShellInteraction.ThreadedDatabaseScript`1.RunScript()

       at Citrix.Console.PowerShellInteraction.PowerShellScript`1.Run()

       at Citrix.Console.PowerShellSdk.DatabaseService.PSDatabaseService.AddControllerToDatabases(IEnumerable`1 databaseCredentials, String configServiceAddress, ScriptExecutionContext context, String controllerToAddAddress)

       at Citrix.Console.PowerShellSdk.SiteService.Scripts.JoinExistingSiteScript.RunScript()

       at Citrix.Console.PowerShellInteraction.PowerShellScript`1.Run()

       at Citrix.Console.DeliveryCenter.UI.Dialogs.JoinExistingSiteDialogViewModel.OkBackgroundOperation(IProgressReporter progressReporter)

       at Citrix.Console.Common.OperationTimer.TimeBlock(Action operation)

       at Citrix.Console.CommonControls.ProgressDisplay.GenericProgressOperationWithFeedBack.PerformOperationInternal()

       at Citrix.Console.CommonControls.ProgressDisplay.ProgressWindowOperation.PerformOperation()

       at Citrix.Console.CommonControls.ProgressDisplay.ProgressWindowViewModel.PerformAction(Action operationComplete)

   

    DesktopStudio_ErrorId : DatabaseError

    SqlServerOutput : xxxx.in.biz\Xenapp7,48051: XenappSite: Changed database context to 'XenappSite'.

    xxx.in.biz\Xenapp7,48051: tempdb: Changed database context to 'tempdb'.

    xxx.in.biz\Xenapp7,48051: tempdb: Changed database context to 'tempdb'.

    xxx.in.biz\Xenapp7,48051: XenappSite: Changed database context to 'XenappSite'.

    xxx.in.biz\Xenapp7,48051: XenappSite: Login [IN\C1PADCTXxxx$] for controller [IN\C1PADCTXxxx$] created

   

    ErrorCategory : NotSpecified

    DesktopStudio_PowerShellHistory : UpdateDatabaseScript

    26-2-2019 12:28:21

   

    

    

Inner Exception:

    Microsoft.SqlServer.Management.Smo.FailedOperationException ExecuteNonQuery failed for Database 'xxxXenappSite'.

       at Microsoft.SqlServer.Management.Smo.Database.ExecuteNonQuery(StringCollection sqlCommands, ExecutionTypes executionType)

       at Citrix.Console.PowerShellSdk.DatabaseService.Scripts.UpdateDatabaseScript.DoImpersonatedWork()

   

    HelpLink.ProdName : Microsoft SQL Server

    HelpLink.BaseHelpUrl : http://go.microsoft.com/fwlink

    HelpLink.LinkId : 20476

    HelpLink.ProdVer : 11.0.5058.0 ((SQL11_PCU_Main).140514-1623 )

    HelpLink.EvtSrc : Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText

    HelpLink.EvtData1 : ExecuteNonQuery

    HelpLink.EvtData2 : Database

   

Inner Exception:

    Microsoft.SqlServer.Management.Common.ExecutionFailureException An exception occurred while executing a Transact-SQL statement or batch.

       at Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand, ExecutionTypes executionType)

       at Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(StringCollection sqlCommands, ExecutionTypes executionType)

       at Microsoft.SqlServer.Management.Smo.Database.ExecuteNonQuery(StringCollection sqlCommands, ExecutionTypes executionType)

   

    

Inner Exception:

    System.Data.SqlClient.SqlException An object or column name is missing or empty. For SELECT INTO statements, verify each column has a name. For other statements, look for empty alias names. Aliases defined as "" or [] are not allowed. Change the alias to a valid name.

    An object or column name is missing or empty. For SELECT INTO statements, verify each column has a name. For other statements, look for empty alias names. Aliases defined as "" or [] are not allowed. Change the alias to a valid name.

    Failed to create database user for [IN\C1PADCTXxxx$]

       at Microsoft.SqlServer.Management.Common.ConnectionManager.ExecuteTSql(ExecuteTSqlAction action, Object execObject, DataSet fillDataSet, Boolean catchException)

       at Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand, ExecutionTypes executionType)

   

    HelpLink.ProdName : Microsoft SQL Server

    HelpLink.ProdVer : 11.00.7462

    HelpLink.EvtSrc : MSSQLServer

    HelpLink.EvtID : 1038

    HelpLink.BaseHelpUrl : http://go.microsoft.com/fwlink

    HelpLink.LinkId : 20476

Link to comment

16 answers to this question

Recommended Posts

I managed to fix this now:

While adding the controller to the site, select automatic site upgrade.

 

If the error comes up, which says ‘the service must be configured with the Central Configuration Service’ : confirm that the Controller is partially added through powershell command on a working controller –> get-brokercontroller

 

Export the registry ’XDServices’ from a working controller and import it to non-working controller [Location – HKLM>software>Citrix>XDservices]

 

Now, reboot the non-working controller and run the below commands –

 

Get-AdminServiceInstance | Register-ConfigServiceInstance

Get-AcctServiceInstance | Register-ConfigServiceInstance

Get-AnalyticsServiceInstance | Register-ConfigServiceInstance

Get-AppLibServiceInstance | Register-ConfigServiceInstance

Get-BrokerServiceInstance | Register-ConfigServiceInstance

Get-BrokerServiceInstance | Register-ConfigServiceInstance

Get-ConfigRegisteredServiceInstance | Register-ConfigServiceInstance

Get-ConfigServiceInstance | Register-ConfigServiceInstance

Get-EnvTestServiceInstance | Register-ConfigServiceInstance

Get-HypServiceInstance | Register-ConfigServiceInstance

Get-LogServiceInstance | Register-ConfigServiceInstance

Get-MonitorServiceInstance | Register-ConfigServiceInstance

Get-OrchServiceInstance | Register-ConfigServiceInstance

Get-ProvServiceInstance | Register-ConfigServiceInstance

Get-SfServiceInstance | Register-ConfigServiceInstance

Get-TrustServiceInstance | Register-ConfigServiceInstance

 

Once all successful, run Studio and go for site upgrade.

 

The controller should now be added to the Site

 

 

Link to comment
13 minutes ago, Benjamin Crill1709152175 said:

Thats for the computer account, but what about the user account you are adding it with?  That user needs to be sysadmin.  It then creates the computer account login and sets perms.  Can you show the user account and that it is an SA?

my account is member of this AD group and thus sysadmin

this group is added to the sql instance

 

sysadm.JPG

Link to comment
5 minutes ago, Benjamin Crill1709152175 said:

Everything is pointing to a permissions issue.

 

Citrix.Console.Models.Exceptions.PermissionDeniedException You do not have the necessary permissions on the remote site to perform this join operation

Message : Failed to authorize operation SetDBConnection. Failed ISM for communication with Delegated Admin Service.

  ErrorCategory : PermissionDenied

permission on the database?

Link to comment

manually add new delivery controllers via script to database, no SID errors now, however starting to add it to an existing site, now revealing the following:

Error Id: XDDS:E3C75A28

Exception:
    Citrix.Console.Models.Exceptions.PermissionDeniedException You do not have the necessary permissions on the remote site to perform this join operation.
       at Citrix.Console.DeliveryCenter.UI.Dialogs.JoinExistingSiteDialogViewModel.OkBackgroundOperation(IProgressReporter progressReporter)
       at Citrix.Console.Common.OperationTimer.TimeBlock(Action operation)
       at Citrix.Console.CommonControls.ProgressDisplay.GenericProgressOperationWithFeedBack.PerformOperationInternal()
       at Citrix.Console.CommonControls.ProgressDisplay.ProgressWindowOperation.PerformOperation()
       at Citrix.Console.CommonControls.ProgressDisplay.ProgressWindowViewModel.PerformAction(Action operationComplete)
   
    DesktopStudio_ErrorId : UnknownError
    ErrorCategory : PermissionDenied
   
Inner Exception:
    Citrix.Console.Models.Exceptions.PermissionDeniedException You are not authorized to perform this operation.
       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.DatabaseService.Scripts.SetDatabaseConnectionsScript.RunScript()
       at Citrix.Console.PowerShellInteraction.PowerShellScript`1.Run()
       at Citrix.Console.PowerShellSdk.SiteService.Scripts.ConfigureServicesScript.SetSiteDatabaseConnections()
       at Citrix.Console.PowerShellSdk.SiteService.Scripts.ConfigureServicesScript.RunScript()
       at Citrix.Console.PowerShellInteraction.PowerShellScript`1.Run()
       at Citrix.Console.PowerShellSdk.SiteService.Scripts.JoinExistingSiteScript.RunScript()
       at Citrix.Console.PowerShellInteraction.PowerShellScript`1.Run()
       at Citrix.Console.DeliveryCenter.UI.Dialogs.JoinExistingSiteDialogViewModel.OkBackgroundOperation(IProgressReporter progressReporter)
   
    DesktopStudio_ErrorId : AuthorizationError
    Exception : Citrix.Fma.Sdk.ServiceCore.AuthorizationFailureException: Failed to authorize operation SetDBConnection. Failed ISM for communication with Delegated Admin Service. ---> Citrix.Fma.Sdk.InterServiceManager.ServiceNotRegisteredException: The service must first be registered with the Central Configuration Service
       at Citrix.Fma.Sdk.InterServiceManager.WcfClientBase`1.VerifyMachineIsRegistered()
       at Citrix.Fma.Sdk.InterServiceManager.WcfClientBase`1.CallAndRetry[TResult](Func`2 operation)
       at Citrix.InterService.DelegatedAdminApi.DelegatedAdminApiClient.CheckGlobalAccess(Boolean& accessGranted, String[] sids, String serviceType, String operation)
       at Citrix.Fma.Sdk.ServiceCore.DelegatedAdminProvider.DemandPermission(String operation)
       --- End of inner exception stack trace ---
       at Citrix.Fma.Sdk.ServiceCore.DelegatedAdminProvider.DemandPermission(String operation)
       at Citrix.Fma.Sdk.ServiceCore.DelegatedAdminProvider.DemandPermission(String operation, ServiceRegistrationStates localAdminStates)
       at Citrix.Fma.Sdk.ServiceCore.CommonCmdlets.CommonCmdletsLogic.SetDBConnection(String connectionString, String dataStore, Boolean force, Nullable`1 loggingId, ServiceStatus& status, Dictionary`2& errorData)
       at Citrix.Fma.Sdk.ServiceCore.ServiceCore.<>c__DisplayClass10_0.<SetDBConnection>b__2()
       at Citrix.Fma.Sdk.ServiceCore.ServiceCore.CheckedCall[T](String name, Func`1 operation, Func`2 defaultValue, Enum code)
    Reason : AuthorizationFailureException
    Message : Failed to authorize operation SetDBConnection. Failed ISM for communication with Delegated Admin Service.
    Sdk Error Message : There was a problem communicating with the Citrix Delegated Administration Service.
    Sdk Error ID : Citrix.XDPowerShell.Status.AuthorizationError,Citrix.ADIdentity.Sdk.DataStore.Commands.SetAcctDBConnectionCommand
    ErrorCategory : PermissionDenied
    DesktopStudio_PowerShellHistory : JoinExistingSiteScript
    27-2-2019 12:28:53
   
    Get-ConfigDBConnection  -AdminAddress "1.sim.biz"
    Get-LogDataStore  -AdminAddress "1.insim.biz"
    Get-MonitorDataStore  -AdminAddress ".sim.biz"
    Get-AcctDBConnection  -AdminAddress "localhost"
    Set-AcctDBConnection  -AdminAddress "localhost" -DBConnection $null
    Set-AcctDBConnection : There was a problem communicating with the Citrix Delegated Administration Service.
     + CategoryInfo : PermissionDenied: (:) [Set-AcctDBConnection], UnauthorizedAccessException
     + FullyQualifiedErrorId : Citrix.XDPowerShell.Status.AuthorizationError,Citrix.ADIdentity.Sdk.DataStore.Commands.SetAcctDBConnectionCommand
   
   
Inner Exception:
    System.UnauthorizedAccessException There was a problem communicating with the Citrix Delegated Administration Service.
       at System.Management.Automation.MshCommandRuntime.ThrowTerminatingError(ErrorRecord errorRecord)
   
   
my account is local adm on new delivery controller server and full admin in studio console and even sysadmin on server sql

Link to comment

Do you have DBO on the database or sysadmin on the server?  Looks like it is failing to create the login for the new DDC which would lead me to believe that you are DBO on the database but not SA to the SQL instance.  DBO on the database won't give you rights to create new logins and set permissions which is required when adding a delivery controller. 

 

  Failed to create database user for [IN\C1PADCTXxxx$]

       at Microsoft.SqlServer.Management.Common.ConnectionManager.ExecuteTSql(ExecuteTSqlAction action, Object execObject, DataSet fillDataSet, Boolean catchException)

       at Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand, ExecutionTypes executionType)

 

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...