![]() |
#1 |
Участник
|
axforum blogs: Ошибка в диаграммах (charts) при использовании группировки по дате
Источник: http://axforum.info/forums/blog.php?b=419
============== Недавно я столкнулся с ошибкой при отображении некоторых (в том числе стандартных!) диаграмм: Сперва я грешил на кривые запросы или раздачу прав доступа, но позже выяснилось, что проблема наблюдается только на производственном сервере. Я отловил запрос, который запускается при прорисовке диаграммы при помощи SQL Profiler и запустил его выполнение вручную. Результат превзошел все мои ожидания: Цитата: An error occurred in the Microsoft .NET Framework while trying to load assembly id 65536. The server may be running out of resources, or the assembly may not be trusted with PERMISSION_SET = EXTERNAL_ACCESS or UNSAFE. Run the query again, or check documentation to see how to solve the assembly trust issues. For more information about this error: System.IO.FileLoadException: Could not load file or assembly 'microsoft.crm.sqlclr.helper, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. Exception from HRESULT: 0x80FC80F1 System.IO.FileLoadException: at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection, Boolean suppressSecurityChecks) at System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) at System.Reflection.Assembly.Load(String assemblyString) Старая добрая ошибка от хранимых CLR процедур, о которой я уже писал недавно: Проблемы с SSIS после обновлений .NET. Вы могли бы спросить, причем же тут CLR? Ответ хранится в запросе к базе: в нем используются CLR функции, например fn_GetFiscalPeriodAndYearCLR. Однако радоваться было рано! Это оказалась не известная мне проблема несовпадения версий, так как в GAC нет сборки microsoft.crm.sqlclr.helper! Проблема уходит глубоко в неисследованную мной тему безопасности SQL Server: http://support.microsoft.com/kb/918040. Решение заключается в том чтобы прописать базе корректного dbowner и сделать ее trustworthy. Сразу скажу, что владелец и так был вполне себе корректный, и все рабочие базы ни разу не trustworthy. Как бы там ни было, приведенный в статье базы знаний запрос решил проблему: X++: ALTER DATABASE Org_MSCRM SET trustworthy ON USE Org_MSCRM EXEC sp_changedbowner 'DOMAIN\login' Попытка выключить trustworthy приведет к возвращению ошибки Источник: http://axforum.info/forums/blog.php?b=419
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору. |
|
|
|