Я создал систему, которая использует триггеры CLR для подключения к серверу WCF и уведомления его об изменениях в БД. Он работает нормально на сервере SQL 2008 R2. Теперь я пытаюсь перейти на SQL Server 2012. Чтобы использовать WCF, мне нужно загрузить сборку SMDiagnostics.dll вместе с другими. Я проверил, что clr включен в db и установил доверенный на «включено», я отключил отладку WCF, я проверил, что SQL-сервер работает под учетной записью локальной системы, поэтому проблем с разрешениями нет. Теперь моя проблема в том, что когда я запускаю следующую команду
IF NOT EXISTS (SELECT * FROM sys.assemblies asms WHERE asms.name = N'SMdiagnostics')
create assembly [SMdiagnostics]
from 'C:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\SMdiagnostics.dll'
with permission_set = unsafe
go
, я получаю следующую ошибку
Предупреждение: сборка Microsoft .NET Framework 'smdiagnostics, версия = 3.0.0.0, культура = нейтральная, publickeytoken = b77a5c561934e089, процессорная архитектура = msil.' вы регистрируетесь не полностью проверено в размещенной среде SQL Server и не поддерживается. в будущем, если вы обновите или обслуживаете эту сборку или .NET Framework, ваша процедура интеграции CLR может перестать работать. Пожалуйста, обратитесь к SQL Server Книги онлайн для более подробной информации. Сообщение 6586, уровень 16, состояние 1, строка 2 Сборка «SMdiagnostics» не может быть установлена, т.к. политика предотвратит его использование.
SMdiagnostics.dll существует по указанному пути. Насколько я понимаю, это какая-то политика в SQL Server 2012 или в GAC, однако я не могу найти политику в отношении SMdiagnostics. Любые идеи, как это решить? Спасибо.