Unknown error en MDS


Hace poco vi un error que nunca habiaa visto, mas bien porque nunca he tenido un problema con MDS. El cliente al intentar navegar el sitio del MDS se encontraba con un error "Unknown error", y este no se logeaba en ningún lado, event viewer, log de errores de SQL Server, etc.


Para este tipo de casos debemos de habilitar el log de MDS (Master Data Services), siguiendo las instrucciones http://blogs.msdn.com/b/jason_howell/archive/2012/09/13/enabling-logging-to-troubleshoot-mdsmodeldeploy-exe.aspx

Una vez habilitamos la captura reproducimos el problema y nos encontramos lo siguiente (se editaron fragmentos para ocultar las trazas del servidor)

MDS Error: 0 : Error de base de datos. Póngase en contacto con el administrador del sistema.
   en Microsoft.MasterDataServices.Core.DataAccess.DbHelper.HandleExceptions(Exception ex)
   en Microsoft.MasterDataServices.Core.DataAccess.DbHelper.ExecuteDataSet(DataSet dataSet, String query, CommandType commandType, CloseConnectionBehavior closeBehavior, DataTableMapping[] tableMappings, Boolean returnSqlTypes)
   en Microsoft.MasterDataServices.Core.DataAccess.DbHelper.ExecuteDataSet(String query, CommandType commandType, CloseConnectionBehavior closeBehavior, Boolean returnSqlTypes)
   en Microsoft.MasterDataServices.Core.DataAccess.DbHelper.ExecuteDataSet(String query, CommandType commandType, Boolean returnSqlTypes)
   en Microsoft.MasterDataServices.Core.DataAccess.MasterDataAccess.EntityMembersGet(DbHelper dbContext, Int32 userId, Int32 versionId, Int32 hierarchyId, Int32 hierarchyTypeId, Int32 parentEntityId, Int32 entityId, Int32 memberTypeId, String parentCode, String columnList, Int32 attributeGroupId, String searchTerm, Int32 pageNumber, Nullable`1 pageSize, String sortColumn, String sortDirection, Boolean countOnly, Nullable`1& memberCount)
   en Microsoft.MasterDataServices.Core.BusinessLogic.Member.GetTotalMemberCount(EntityMembers entityMembers, RequestContext context)
   en Microsoft.MasterDataServices.Services.Service.EntityMembersGet(EntityMembersGetRequest request)
Información de depuración de errores de SQL: número 6263, mensaje Execution of user code in the .NET Framework is disabled. Enable "clr enabled" configuration option., servidor AdventureWorks2008R2, procedimiento udpMembersGet, línea 89

Como podemos apreciar el error es bastante claro, el CLR no se encuentra habilitado.

Esto es fácil de poder corregir usando.

sp_configure 'show advanced options', 1;
GO
RECONFIGURE; 
GO 
sp_configure 'clr enabled', 1;
GO
RECONFIGURE; 
GO

Una vez hechos estos pasos vamos nuevamente al MDS y todo debe de estar funcionando correctamente. Recordemos que debemos de deshabilitar el verbose una vez terminado esto.

Comentarios