1) Это плохая идея . Для этого вам следует использовать внешнюю программу, возможно, просто PowerShell через агент SQL.
2) Вот как это сделать.
Сборка, которую вы пытаетесь загрузить, ссылается на сборки .NET Framework, которых нет в «благословенном списке» для SQL Server, а это означает, что они не тестируются и не поддерживаются для запуска in-proc. И чтобы использовать их, вы должны скопировать их в свою базу данных.
После того, как вы скопируете сборки .NET Framework в свою базу данных, вы должны обновлять их каждый раз, когда изменяется версия .NET Framework на хосте (включая исправления и незначительные изменения версии), или когда ваша база данных работает на другом сервере (например, при отказе). Кто-то забудет это сделать, и ваше приложение упадет.
SQL 2012 и более поздние версии используют .NET Framework 4. Нет ничего страшного в том, что приложение было построено на основе .NET 2; это будет работать в 4 (вероятно). А ссылки на сборки .NET Framework 2 будут автоматически перенаправлены на версии .NET 4. Но это означает, что вы должны установить версии .NET 4 с сервера в вашу базу данных. Полный список, который вам нужен для работы System.Windows.Forms.dll:
system.windows.forms, version=4.0.0.0, culture=neutral, publickeytoken=b77a5c561934e089, processorarchitecture=msil
system.drawing, version=4.0.0.0, culture=neutral, publickeytoken=b03f5f7f11d50a3a, processorarchitecture=msil
accessibility, version=4.0.0.0, culture=neutral, publickeytoken=b03f5f7f11d50a3a, processorarchitecture=msil
system.runtime.serialization.formatters.soap, version=4.0.0.0, culture=neutral, publickeytoken=b03f5f7f11d50a3a, processorarchitecture=msil
Все эти сборки расположены в:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319