I am running SSIS Packages through an Agent job and getting error 0x80131904:
Message:
Executed as user: NT Service\SQLSERVERAGENT.
Microsoft (R) SQL Server Execute Package Utility
Version 14.0.3023.8 for 64-bit
Copyright (C) 2017 Microsoft. All rights reserved.Started: 1:00:00 PM
Failed to execute IS server package because of error 0x80131904. Description:
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. 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.sqlserver.integrationservices.server, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. An error relating to security occurred. (Exception from HRESULT: 0x8013150A)
System.IO.FileLoadException:
at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean forIntrospection)
at System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
at System.Reflection.Assembly.Load(String assemblyString)Source: .Net SqlClient Data Provider
Started: 1:00:00 PM
Finished: 1:00:00 PM
Elapsed: 0.328 seconds.The package execution failed.
The step failed.
I researched and found that I should enable CLR and set TRUSTWORTHY
to ON
for the DB. I did that and in addition checked the database owner account; it's enabled and not orphaned. Still getting the error. I would highly appreciate any help on this.
EXTERNAL_ACCESS
orUNSAFE
? If so, is thePERMISSION_SET
of the Assembly set to eitherEXTERNAL_ACCESS
? From what I am seeing, "0x80131904" indicates an error when trying to connect to SQL Server. Does your SQLCLR method use SqlClient to connect to SQL Server using a regular / external connection (i.e. not"context connection=true"
)?TRUSTWORTHY ON
and change the owner of that DB? The error you are getting, which is really0x8013150A
, has been corrected in all cases that I could find by those 2 actions. Also, did you check the PERMISSION_SET for the assembly? It should be set toEXTERNAL_ACCESS
. Can you execute this same package using DTExec.exe at a command prompt?