Dear community,
I ran into a strange issue as I changed the field length of a specific single linge text field for a custom entity. For another field with the same type on the same entity, editing is possible. However, I took a trace and I got following error message:
MSCRM Error Report:
--------------------------------------------------------------------------------------------------------
Error: DROP FULLTEXT INDEX statement cannot be used inside a user transaction.
Error Number: 0x80044150
Error Message: Generic SQL error.
Error Details: Generic SQL error.
Source File: Not available
Line Number: Not available
Request URL: xxxxx/.../SystemCustomization.asmx
Stack Trace Info: [SqlException: DROP FULLTEXT INDEX statement cannot be used inside a user transaction.]
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at Microsoft.Crm.CrmDbConnection.InternalExecuteWithRetry[TResult](Func`1 ExecuteMethod, IDbCommand command)
at Microsoft.Crm.CrmDbConnection.InternalExecuteNonQuery(IDbCommand command, Boolean capturePerfTrace)
at Microsoft.Crm.Metadata.IndexAndConstraintManagementService.DropIndexOrConstraintInSqlIfExistsInternal(DropIndexData dropData, ISqlExecutionContext sqlContext)
at Microsoft.Crm.Metadata.IndexAndConstraintManagementService.DropIndexesFromSQLByIndexIds(List`1 indexIds, ISqlExecutionContext sqlContext)
at Microsoft.Crm.Metadata.IndexAndConstraintManagementService.DropIndexesInvolvingAttribute(Guid attributeId, Boolean dropAndTrackCustomIndexes, IIndexMetadataProvider metadata, ISqlExecutionContext sqlContext)
at Microsoft.Crm.Metadata.AttributeUpdateAction.PreprocessAttributeForSQLChangesIfNecessary(MetadataBusinessEntity updateData)
at Microsoft.Crm.Metadata.AttributeUpdateAction.UpdateAttributeTable()
at Microsoft.Crm.Metadata.AttributeUpdateAction.MetabaseOperation()
at Microsoft.Crm.Metadata.MetadataHelper.ProcessQueue_metabaseActionsToExecute(CounterList listCounters)
at Microsoft.Crm.Metadata.MetadataHelper.ProcessQueue()
at Microsoft.Crm.Metadata.AttributeService.Update(Guid attributeId, AttributeInfo attributeInfo, Boolean mergeLabels, MetadataHelper metadataHelper, ExecutionContext context)
at Microsoft.Crm.Metadata.AttributeService.Update(Guid attributeId, AttributeInfo attributeInfo, Boolean mergeLabels, ExecutionContext context)
at Microsoft.Crm.Metadata.AttributeService.Update(Guid attributeId, AttributeInfo attributeInfo, Boolean mergeLabels, Guid solutionId)
at Microsoft.Crm.Application.WebServices.SystemCustomization.AttributeUpdate.Execute(Guid solutionId, ParameterBag paramBag)
at Microsoft.Crm.Application.WebServices.SystemCustomization.SystemCustomization.UpdateAttribute(XmlNode data)
Regards,
Karan