Hi
After an upgrade a Server from Dynamics CRM 2016 on-premise update 0.2 to Dynamics CRM 2016 Update 1, I got my Organization in version 8.0.0.528 so it have an update enabled. Using the Deployment Manager tool, I ran the update but the process fails, the log file ends with this stack trace:
17:33:28| Info| Check OrganizationDatabaseExistsValidator: Success 17:33:28|Verbose| Validation ran. 17:33:28|Verbose| Validation completed. 17:33:28|Verbose| Method exit: Microsoft.Crm.Tools.EDW.Framework.EDWTool.Run 17:33:28|Verbose| Method exit: Microsoft.Crm.Tools.EDW.Framework.EDWTool.RunAll 17:33:28|Verbose| Method entry: Microsoft.Crm.Tools.EDW.Framework.EDWToolCallbacks.Clear 17:33:28|Verbose| Method exit: Microsoft.Crm.Tools.EDW.Framework.EDWToolCallbacks.Clear 17:33:33|Verbose| Retrieving database base language code Data Source=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ... 17:33:33| Info| Database base language code: 3082. 17:33:33| Info| Installer Start: OrganizationDatabaseHotFixer.Install: operation DatabaseHotFix 17:33:33| Info| Executing Install action: Microsoft.Crm.Tools.Admin.InstallDatabaseUpdatesAction 17:33:33|Verbose| Retrieving database base language code Data Source=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ... 17:33:33| Info| Database base language code: 3082. 17:33:33| Info| Applying latest dbUpdates to organization. Id=3e2af983-641b-e511-80cb-00155d35453a, UniqueName=XXXXX. 17:35:54| Info| CrmAction execution time; InstallDatabaseUpdatesAction; 00:02:20.4607843 17:35:54| Error| Installer Complete: OrganizationDatabaseHotFixer - Error encountered 17:35:54| Error| Exception occured during Microsoft.Crm.Tools.Admin.OrganizationDatabaseHotFixer: Error.ActionFailed Microsoft.Crm.Tools.Admin.InstallDatabaseUpdatesAction InnerException: System.Reflection.TargetInvocationException: Se produjo una excepción en el destino de la invocación. ---> System.Data.SqlClient.SqlException: No se puede quitar el índice 'cndx_PrimaryKey_OpportunityProduct' porque aplica la clave de texto completo para la tabla o la vista indizada 'OpportunityProductBase'. No se puede quitar la restricción. Consulte los errores anteriores. en System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) en System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) en System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) en System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite) en System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite) en System.Data.SqlClient.SqlCommand.ExecuteNonQuery() en Microsoft.Crm.CrmDbConnection.InternalExecuteWithRetry[TResult](Func`1 ExecuteMethod, IDbCommand command) en Microsoft.Crm.CrmDbConnection.InternalExecuteNonQuery(IDbCommand command, Boolean capturePerfTrace) en Microsoft.Crm.CrmDbConnection.ExecuteNonQuery(IDbCommand command, Boolean impersonate, Boolean capturePerfTrace) en Microsoft.Crm.Metadata.IndexAndConstraintManagementService.DropIndexOrConstraintInSqlIfExistsInternal(DropIndexData dropData, ISqlExecutionContext sqlContext) en Microsoft.Crm.Metadata.IndexAndConstraintManagementService.DropIndexesFromSQLByIndexIds(List`1 indexIds, ISqlExecutionContext sqlContext) en Microsoft.Crm.Metadata.SqlStandardIndexHandler.UpgradeIndexes(IIndexDiffManager indexDiffManager, IIndexMetadataProvider metadata, ISqlExecutionContext sqlContext) en Microsoft.Crm.Metadata.SqlStandardIndexHandler.ProcessIndexDiffManagerData(IIndexDiffManager indexDiffManager, IIndexMetadataProvider metadataProvider, ISqlExecutionContext sqlContext) en Microsoft.Crm.Setup.MetadataPatchService.ProcessIndexDiffs(IIndexDiffManager indexDiffManager, ISqlExecutionContext context, HashSet`1 newEntities) en Microsoft.Crm.Setup.MetadataPatchService.ProcessDiffSet(MetadataPatchDiffSet diffSet, Int32 lcid, ExecutionContext context) en Microsoft.Crm.Setup.MetadataPatchService.ProcessMetadataDiffFile(String targetVersion, ExecutionContext context) en Microsoft.Crm.Setup.DiffBuilder.UpdateMetadata(String targetVersion) --- Fin del seguimiento de la pila de la excepción interna --- en System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) en System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) en System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) en System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams) en Microsoft.Crm.Setup.Database.DllMethodAction.Execute(Guid organizationId, Nullable`1 operationType) en Microsoft.Crm.Setup.Database.DatabaseInstaller.ExecuteReleases(ReleaseInfo releaseInfo, Boolean isInstall) en Microsoft.Crm.Setup.Database.DatabaseInstaller.Install(Int32 languageCode, String configurationFilePath, Boolean upgradeDatabase, Boolean isInstall) en Microsoft.Crm.Setup.Database.DatabaseInstaller.InstallUpdate(String configurationFilePath, Boolean upgradeDatabase) en Microsoft.Crm.Setup.Common.Update.DBUpdateDatabaseInstaller.ApplyDBUpdates(Guid orgId, Nullable`1 operationType) en Microsoft.Crm.Tools.Admin.InstallDatabaseUpdatesAction.ApplyDBUpdatesInternal(Guid orgId, String orgUniqueName, String releaseFilePath, Boolean ignoreErrors, OrganizationOperationType operationType) en Microsoft.Crm.Tools.Admin.InstallDatabaseUpdatesAction.ApplyDBUpdates(Guid orgId, String orgUniqueName, OrganizationOperationType operationType) en Microsoft.Crm.Tools.Admin.InstallDatabaseUpdatesAction.Do(IDictionary parameters) en Microsoft.Crm.Setup.Shared.CrmAction.ExecuteAction(CrmAction action, IDictionary parameters, Boolean undo) InnerException: System.Data.SqlClient.SqlException (0x80131904): No se puede quitar el índice 'cndx_PrimaryKey_OpportunityProduct' porque aplica la clave de texto completo para la tabla o la vista indizada 'OpportunityProductBase'. No se puede quitar la restricción. Consulte los errores anteriores. en System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) en System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) en System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) en System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite) en System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite) en System.Data.SqlClient.SqlCommand.ExecuteNonQuery() en Microsoft.Crm.CrmDbConnection.InternalExecuteWithRetry[TResult](Func`1 ExecuteMethod, IDbCommand command) en Microsoft.Crm.CrmDbConnection.InternalExecuteNonQuery(IDbCommand command, Boolean capturePerfTrace) en Microsoft.Crm.CrmDbConnection.ExecuteNonQuery(IDbCommand command, Boolean impersonate, Boolean capturePerfTrace) en Microsoft.Crm.Metadata.IndexAndConstraintManagementService.DropIndexOrConstraintInSqlIfExistsInternal(DropIndexData dropData, ISqlExecutionContext sqlContext) en Microsoft.Crm.Metadata.IndexAndConstraintManagementService.DropIndexesFromSQLByIndexIds(List`1 indexIds, ISqlExecutionContext sqlContext) en Microsoft.Crm.Metadata.SqlStandardIndexHandler.UpgradeIndexes(IIndexDiffManager indexDiffManager, IIndexMetadataProvider metadata, ISqlExecutionContext sqlContext) en Microsoft.Crm.Metadata.SqlStandardIndexHandler.ProcessIndexDiffManagerData(IIndexDiffManager indexDiffManager, IIndexMetadataProvider metadataProvider, ISqlExecutionContext sqlContext) en Microsoft.Crm.Setup.MetadataPatchService.ProcessIndexDiffs(IIndexDiffManager indexDiffManager, ISqlExecutionContext context, HashSet`1 newEntities) en Microsoft.Crm.Setup.MetadataPatchService.ProcessDiffSet(MetadataPatchDiffSet diffSet, Int32 lcid, ExecutionContext context) en Microsoft.Crm.Setup.MetadataPatchService.ProcessMetadataDiffFile(String targetVersion, ExecutionContext context) en Microsoft.Crm.Setup.DiffBuilder.UpdateMetadata(String targetVersion) ClientConnectionId:83ad9fc5-6081-4e59-9f44-8f7f0038e44f Error Number:7613,State:1,Class:16
from the above log, I know it is regarding the PK on OpportunityProductBase... so the update script is not handling properly tha PK/table... what can I do?
Any advice on how to solve this issue is higly appreciated.
Thanks community folks!