Niels Berglund walks through the process of whitelisting a CLR assembly in SQL Server 2017:
What Microsoft introduces in SQL Server 2017 RC1, is something I refer to as whitelisting. It is somewhat similar to the
TRUSTWORTHY
setting, where you indicate that a database is to be trusted. But instead of doing it on the database level, you do it per assembly.To whitelist in SQL Server 2017 RC1, you use the system stored procedure
sys.sp_add_trusted_assembly
. As the name implies the procedure adds an assembly to a list of “trusted” assemblies. By marking an assembly as trusted, SQL Server will allow it to be loaded whenclr strict security
is on (on by default), even if:
-
the assembly is not signed, and
-
the database where you want to deploy it to is not
TRUSTWORTHY
.
With the elimination of the CAS model finally hitting CLR, this is probably going to be one of the easier ways for DBAs to move forward with CLR in the future.