OlĂ¡ pessoal,
Boa tarde!
Neste post vou mostrar a vocĂªs como resolver rapidamente problemas de assinatura de DLL Assembly do .NET Framework no SQL Server. Esse erro ocorre quando alguma rotina do SQLCLR utiliza alguma DLL do Framework .NET do servidor e apĂ³s alguma atualizaĂ§Ă£o de sistema, o usuĂ¡rio do CLR perde as permissões de Unsafe Assembly ou alguma DLL Ă© atualizada.
DemonstraĂ§Ă£o do problema
Quando esse erro ocorre, todas as suas SP’s do CLR que utilizam a DLL afetada irĂ£o apresentar a mensagem de erro abaixo:
Could not load file or assembly or one of its dependencies. Assembly in host store has a different signature than assembly in GAC (Exception from HRESULT: 0x80131050)
SoluĂ§Ă£o
Para resolver esse problema de assinatura, vamos conceder novamente a permissĂ£o de Unsafe Assembly para o usuĂ¡rio do CLR e depois alterar o Assembly das DLL’s que estĂ£o apresentando erro apontando para a DLL que nossa rotina do CLR espera.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
USE [master] GO GRANT UNSAFE ASSEMBLY TO CLR_User USE [CLR] GO ALTER ASSEMBLY [System.DirectoryServices] FROM 'C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.DirectoryServices.dll' ALTER ASSEMBLY [System.DirectoryServices.Protocols] FROM 'C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.DirectoryServices.Protocols.dll' |
A partir de agora, podemos utilizar novamente a nossa SP:
É isso aĂ, pessoal!
AtĂ© a prĂ³xima!
sql server, sql, Could not load file or assembly or one of its dependencies. Assembly in host store has a different signature than assembly in GAC (Exception from HRESULT: 0x80131050), assembly, gac
sql server, sql, Could not load file or assembly or one of its dependencies. Assembly in host store has a different signature than assembly in GAC (Exception from HRESULT: 0x80131050), assembly, gac