Оппозиционный, я согласен с вами. Ассембли прекрасны для всех тех вещей, которые не достижимы или едва достижимы в T-SQL (через хакерские методы).
Простота использования - это ключ. Имейте в виду следующие последствия ...
- Использование сборки приводит к проблемам конфигурации доверия/безопасности/разрешения.
Сборка должна быть определена в базе данных. Если сборка не подписана, базе данных будет разрешен код UNTRUSTED. Эта база данных сбрасывается при отсоединении/повторной загрузке базы данных.
- Использование сборки влияет на конфигурацию SQL Server (а не только на базу данных).
Чтобы запустить сборку, вы должны сначала обеспечить, чтобы облегченный пул SQL Server был отключен.
- Для функций сборок не забывайте сохранять консервативность при манипуляциях с данными; особенно на занятых столах.
Если возможно, избегайте использования метода сборки, который пытается повлиять на слишком много строк за раз. Позаботьтесь о тех, которые используются в триггерах таблицы. Некоторые из них резко ухудшат производительность.
Вместо того, чтобы писать свою собственную библиотеку, вы также можете использовать библиотеку SQL # (как бесплатную, так и платную версию) http://www.sqlsharp.com/. Он предоставляет множество функций прямо из коробки. Я счастливый пользователь бесплатной версии :) – 2009-07-17 19:58:28