Sql Server Azure PERMISSION_SET = EXTERNAL_ACCESS或UNSAFE

时间:2015-06-05 09:28:45

标签: sql-server azure azure-sql-database

我们昨天收到了这个错误。我发现一些文章暗示这是孤立的userIds的一个问题,但由于数据库托管在Azure上,访问用户配置文件的存储过程不可用,我不是数据库专家

我正在阅读的其中一篇文章

https://social.technet.microsoft.com/Forums/en-US/3f30c3fd-e659-4ed2-a0f8-fbe8de140037/microsoft-net-framework-while-trying-to-load-assembly-id-1?forum=ssdsgetstarted

它说无法找到程序集'microsoft.sqlserver.types'11.1.0.0几个星期前部署的版本是10.0.0.0所以我更新了我的nuget包但该版本仅在11.0.2上

https://www.nuget.org/packages/Microsoft.SqlServer.Types/

我们目前通过获取数据库副本解决了这个问题。它只是暂时解决了我的感觉,它会再次发生。

  

System.Data.SqlClient.SqlException   :   尝试加载程序集ID时,Microsoft .NET Framework中发生错误。服务器可能资源不足,或者PERMISSION_SET = EXTERNAL_ACCESS或UNSAFE可能不信任程序集。再次运行查询,或检查文档以了解如何解决程序集信任问题。有关此错误的更多信息:System.IO.FileNotFoundException:无法加载文件或程序集'microsoft.sqlserver.types,Version = 11.1.0.0,Culture = neutral,PublicKeyToken = 89845dcd8080cc91'或其依赖项之一。该系统找不到指定的文件。 ---> System.IO.FileNotFoundException:无法加载文件或程序集'microsoft.sqlserver.types,Version = 11.0.0.0,Culture = neutral,PublicKeyToken = 89845dcd8080cc91'或其依赖项之一。该系统找不到指定的文件。 System.IO.FileNotFoundException:System.IO.FileNotFoundException:System.Reflection的System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName,String codeBase,Evidence assemblySecurity,RuntimeAssembly locationHint,StackCrawlMark& stackMark,Boolean throwOnFileNotFound,Boolean forIntrospection,Boolean suppressSecurityChecks) .RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef,Evidence assemblySecurity,StackCrawlMark& stackMark,Boolean forIntrospection,Boolean suppressSecurityChecks)在System.Reflection.Assembly的System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString,Evidence assemblySecurity,StackCrawlMark& stackMark,Boolean forIntrospection)中。加载(String assemblyString)

1 个答案:

答案 0 :(得分:3)

我们对您使用该服务遇到的问题表示歉意。虽然我们一直在积极调查这个问题,但很难重现(因此完全修复)。我们此时的相关数据: •问题不会一直发生。当它在SQL实例上开始发生时,它会持续存在,直到该进程被回收。 •虽然我们一直在收到文件未找到的错误,但是我们对发现问题的机器的检查确实存在应该存在的文件 •我们知道问题发生在V11和V12服务器上,但由于该版本的服务代码存在一些架构差异,因此在V11服务器上更糟糕。

目前,我们建议遇到此问题的客户考虑是否可以将其服务器移至V12。原因是: •根据我们的遥测数据,我们知道V12服务器不太经常遇到这个问题 •由于V11和V12之间的架构差异,对V11的影响范围大于V12(意味着更多客户在发生时会受到影响)。 •我们在V12上具有其他服务功能,使我们能够更快地识别和缓解此问题。我们正在积极致力于部署所需的更改。因此,准备好后,我们应该能够自动为任何遇到此问题的客户应用缓解步骤。

有些错误比其他错误难以修复,而且这个错误比我们预期的要困难一些。我们将继续努力追踪此问题的确切根本原因(即使文件存在,也无法加载文件)。希望这能为您提供足够的信息来解决它。

谢谢和道歉, 康纳坎宁安 架构师,SQL