Критические изменения в функциях ядра СУБД в SQL Server 2017

Применимо к: SQL Server 2017 (14.x) и более поздних версий

В этой статье описываются критические изменения в ядре СУБД SQL Server 2017 (14.x) Эти изменения могут нарушить работу приложений, скриптов или функций, основанных на более ранних версиях SQL Server. При обновлении могут возникнуть следующие проблемы.

Критические изменения в компоненте ядро СУБД SQL Server 2017

CLR использует в .NET Framework безопасность доступа кода (CAS), однако CAS больше не поддерживается в качестве границы безопасности. Сборка CLR, созданная с помощью PERMISSION_SET = SAFE, может получить доступ к внешним системным ресурсам, вызывать неуправляемый код и получать привилегии sysadmin. В SQL Server 2017 (14.x) и более поздних версиях параметр sp_configureclr strict security повышает безопасность сборок CLR. clr strict security включен по умолчанию и рассматривает сборки SAFE и EXTERNAL_ACCESS, как если бы они были помечены UNSAFE. Параметр clr strict security можно отключить для обратной совместимости, но не рекомендуется.

Мы рекомендуем подписывать все сборки с помощью сертификата или асимметричного ключа с соответствующим именем входа, которому предоставлено разрешение UNSAFE ASSEMBLY в базе данных master. Администраторы SQL Server также могут добавлять сборки в список сборок, которым должен доверять ядро СУБД. Дополнительные сведения см. в разделе sys.sp_add_trusted_assembly.

Алгоритмы MD2, MD4, MD5, SHA и SHA1 устарели в SQL Server 2016 (13.x). До SQL Server 2016 (13.x), самозаверяющий сертификат создается с помощью SHA1. Начиная с SQL Server 2017 (14.x), самозаверяющий сертификат создается с помощью SHA2_256.

Предыдущие версии

Архивная документация по старым версиям SQL Server

Мы собираем и храним документацию по очень старым версиям Microsoft SQL Server в наборе архивных веб-страниц. Архивные веб-страницы не обрабатываются поисковыми системами, такими как bing.com и google.com. Эти архивы доступны в нашей документации по адресу previous-versions/sql/:

В них входит документация, по крайней мере, по следующим старым версиям:

  • SQL Server 2014 (12.x)
  • SQL Server 2012 (11.x)
  • SQL Server 2008 R2 (10.50.x)
  • SQL Server 2008 (10.0.x)
  • SQL Server 2005 (9.x)

Документация по SQL Server 2014 по-прежнему доступна по адресу основной документации.

Документация по SQL Server 2022 доступна по основному адресу документации. Затем можно использовать раскрывающийся список управления версиями в верхней части страницы, чтобы выбрать другую нужную версию.

Дополнительные сведения о документации по предыдущим версиям SQL Server см. на странице Документация по предыдущим версиям SQL Server.