Почему SQL Server не поставляется с предустановленной .NET Framework для интеграции с CLR? - PullRequest
0 голосов
/ 21 апреля 2009

Если я хочу сослаться на что-то в .net framework для использования в моем хранимом процессе CLR, например, я должен сначала загрузить это в базу данных сервера Sql.

Почему это не предустановлено? Это связано с производительностью или проблемами безопасности или что-то еще?

спасибо.

Ответы [ 4 ]

2 голосов
/ 21 апреля 2009

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

Некоторые довольно простые вещи могут быть отключены по умолчанию: 914277 КБ для «удаленного доступа»

Во-вторых, это не будет разрешено во многих магазинах, что приводит меня к моему дерзкому ответу: «потому что разработчики могут его использовать». Использование CLR в реляционном движке имеет свои преимущества: настраиваемые типы данных, настраиваемые агрегаты и т. Д., Но им будет злоупотреблять, потому что для многих проще писать на C #, чем на T-SQL.

1 голос
/ 21 апреля 2009

SQL Server 2000 поставлялся со всем включенным, после того, как червь-червь Microsoft усвоил свой урок, а на SQL Server 2005 и выше все функции, которые были включены, такие как xp_cmdshell, openrowset и т. Д., Отключены по умолчанию, чтобы уменьшить поверхность атаки. CLR также отключен по той же причине.

0 голосов
/ 21 апреля 2009

Возможно, потому что это дополнительная функция, которая не так часто используется. Еще.

0 голосов
/ 21 апреля 2009

Я полагаю, это по соображениям безопасности, так как не установка по умолчанию уменьшает поверхность атаки, доступную любым хакерам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...