Расширяемость
Пользовательские Типы и Агрегаты
Пользовательские типы в SQL Server 2005 не являются объектно-реляционным механизмом расширения. Они служат для расширения системы скалярных типов базы данных. Скалярная система типов включает типы полей, которые поставляются с SQL Server (такие типы, как int , nvarchar , uniqueidentifier и так далее). При помощи пользовательских типов можно создавать новые типы полей, например. Это следует сделать в том случае, если ваш тип действительно является неделимым значением, которое можно представить в виде поля.
Пользовательские типы можно использовать, если требуется определить свой собственный скалярный тип. Примерами таких сценариев являются специальные типы даты/времени в различных календарях и типы данных для хранения денег. При помощи пользовательских типов можно создать один объект, который обладает поведением, присущим типу и инкапсулировать или скрыть низлежащие данные, хранящиеся в типе. Для доступа к этим данным будет использоваться программный интерфейс. Если есть возможность воспользоваться функциональностью .NET Framework (такой, как интернационализация или календарная функциональность), то это является ещё одной хорошей причиной для рассмотрения возможности реализации ваших типов в виде пользовательских типов.
Существует множество сценариев, где может потребоваться выполнить агрегирование данных. Это включает выполнение статистических вычислений, таких как avg, stddev и так далее. Если требуемая агрегатная функция не поддерживается непосредственно в виде встроенной агрегатной функции, то существует три способа выполнить собственную агрегацию в SQL Server 2005:
Объекты Управления SQL (SMO )
Объекты Управления SQL (SMO) представляют собой объектную модель управления SQL Server 2005. SMO предоставляет существенные проектные и архитектурные улучшения объектной модели управления SQL Server. Она проста в использовании и в то же время богата и основана на управляемом коде .NET Framework. SMO является главным средством для разработки приложений, управляющих базой данных, построенных на .NET Framework. SMO используется каждым диалогом SQL Server Management Studio и каждое действие по администрированию, доступное в SQL Server Management Studio, можно осуществить при помощи SMO.
Новая объектная модель SMO и интерфейсы прикладного программирования Microsoft Windows Management Instrumentation (WMI) заменяют SQL-DMO. Где это возможно, для простоты использования SMO содержит сходные с SQL-DMO объекты. SQL-DMO всё ещё можно использовать с SQL Server 2005, но SQL-DMO не будет обновляться для управления функциями, специфичными для SQL Server 2005.
Analysis Management Objects
Analysis Management Objects (AMO) позволяют клиентским приложениям получить доступ к широкому набору административных команд и возможностей, существующих в Analysis Services, при помощи объектной библиотеки, которая может предоставить проверку объектов вместо ручного создания сценариев DDL для команд Analysis Services и часто длинного содержимого объекта ObjectDefinition языка сценариев Analysis Services (ASSL). Использующие AMO приложения могут либо соединиться и работать непосредственно с объектами экземпляра Analysis Services, либо создать такие объекты без соединения и сохранить метаданные для последующего развёртывания.