Политика поддержки непроверенных сборок платформа .NET Framework в среде, размещенной SQL Server CLR

В этой статье описывается политика поддержки непроверенных сборок Microsoft платформа .NET Framework в среде, размещенной платформа .NET Framework clR, в SQL Server.

Оригинальная версия продукта: SQL Server
Исходный номер базы знаний: 922672

Тестирование и поддержка сборки

При регистрации сборки, ссылающейся на непроверенную платформа .NET Framework сборку в SQL Server, может появилось следующее предупреждающее сообщение:

Сборка .NET frameworks AssemblyName, регистрируемая вами, не полностью протестирована в SQL Server размещенной среде.

Сообщение означает, что сборка платформа .NET Framework не была протестирована в среде, размещенной SQL Server CLR. Таким образом, сборка не поддерживается в среде, размещенной SQL Server CLR.

Непроверенная сборка платформа .NET Framework может завершить процесс узла при возникновении критического состояния, например нехватки памяти. Сборку можно использовать в среде, размещенной в среде clR SQL Server, на свой страх и риск. Однако SQL Server службы поддержки клиентов (CSS) не помогут вам использовать и устранять проблемы, связанные с неподдерживаемой сборкой платформа .NET Framework. Если CSS определяет, что определенная неподдерживаемая сборка вызывает SQL Server проблемы, может потребоваться прекратить использование сборки. Кроме того, вам может быть предложено временно прекратить использование сборки при устранении неполадок с определенной SQL Server, если это необходимо.

Регистрация сборки

Существует два типа сборок .NET: чистые и смешанные. Чистые сборки .NET содержат только инструкции MSIL. Смешанные сборки содержат как инструкции неуправляемого компьютера, так и инструкции MSIL. Смешанные сборки в целом компилируются в компиляторе C++ с помощью параметра clr, а также содержат машинные инструкции, созданные на основе машинного кода C++.

При использовании сборки платформа .NET Framework, отсутствуют в списке поддерживаемых, необходимо использовать инструкцию CREATE ASSEMBLY для регистрации сборки и сборок, на которые ссылается ссылка, в SQL Server базе данных. Оператор SQL Server CREATE ASSEMBLY позволяет регистрировать только чистые платформа .NET Framework сборки. Если сборка или любая сборка, на которую ссылается ссылка, не является чистой платформа .NET Framework сборкой (и, следовательно, является смешанной сборкой), вы получите следующее сообщение об ошибке:

Сообщение 6544, уровень 16, состояние 1, строка 2
Не удалось создать сборку "<имя> сборки", так как сборка "<имя> сборки" имеет неправильный формат или не является чистой сборкой .NET.
Непроверяемый заголовок PE или собственная заглушка.

В этом случае сборку платформа .NET Framework нельзя использовать вместе со средой CLR SQL, если только сборка не находится в списке поддерживаемых данных, описанном в этой статье. Кроме того, сборка платформа .NET Framework может переходить от чистой сборки к смешанной сборке между версиями. Если вы используете сборку, которой нет в списке поддерживаемых, может возникнуть ситуация, когда сборка работает в одной версии платформа .NET Framework но не в другой. Это ограничение не применяется к сборкам в списке поддерживаемых, так как эти сборки не требуется регистрировать с помощью инструкции CREATE ASSEMBLY .

Кроме того, эти сборки необходимо поддерживать после обновления платформа .NET Framework. При выполнении подпрограммы CLR или использовании сборки в SQL Server отображается следующее сообщение об ошибке:

Сигнатура сборки в хранилище узлов отличается от сигнатуры сборки в GAC. (Исключение из HRESULT: 0x80131050)

Сборки, поддерживаемые в среде, размещенной SQL Server CLR

Следующие платформа .NET Framework сборки поддерживаются в среде, размещенной SQL Server CLR:

  • Microsoft.VisualBasic.dll

  • Mscorlib.dll

  • System.Data.dll

  • System.dll

  • System.Xml.dll

  • Microsoft.VisualC.dll

  • CustomMarshalers.dll

  • System.Security.dll

  • System.Web.Services.dll

  • System.Data.SqlXml.dll

  • System.Transactions.dll

  • System.Data.OracleClient.dll

  • System.Configuration.dll