На конференции профессиональных разработчиков Professional Developers Conference (PDC) 2003 г. представители Microsoft сообщили много нового о будущих продуктах, предназначенных для программистов. Один из таких продуктов - Yukon, новая редакция Microsoft SQL Server.

Пакет Yukon, как и Whidbey (очередная версия Visual Studio .NET), существенно обновлен. В программе не только исправлены ошибки и усовершенствованы имеющиеся функции, например в ADO.NET, но и появились важные новшества, такие как замена SQL Server Enterprise Manager на SQL Server Workbench и интеграция с Windows .NET Framework.

Enterprise Manager и SQL Server Workbench

Важное изменение - исключение из пакета Yukon программы Enterprise Manager, инструмента для управления экземплярами SQL Server. Функции Enterprise Manager будут перенесены в SQL Server Workbench, общую среду разработки для управления базами данных SQL Server. Программисты смогут управлять экземплярами SQL Server с помощью SQL Server Workbench или Visual Studio .NET. Многие разработчики не знают, что большинство задач, решаемых с помощью Enterprise Manager, можно выполнять с помощью Server Explorer пакета Visual Studio .NET. Можно предположить, что рабочая модель SQL Server Workbench будет похожа на Visual Studio .NET.

Наряду с устранением некоторых недостатков Enterprise Manager (например, стало проще строить проекты на основе базы данных), в SQL Server Workbench появятся новые инструменты для управления XML и генерирования специальной логики XQuery. Кроме того, в SQL Server Workbench появится множество новых функций, связанных с многочисленными изменениями Yukon. Например, SQL Server Workbench вводит в базу данных настоящие пользовательские типы данных (user data type - UDT). При реализации через XML UDT не будет служить лишь псевдонимом для одного из встроенных типов данных SQL Server, но позволит определить столбец, обеспечивающий уникальную структуру хранения информации. Возможность определять специальные столбцы - центральный элемент собственного столбца типа данных XML, который будет реализован в Yukon. Вместо того чтобы строить два столбца, представляющих точку, программист определяет два целых числа и их отношение как части структуры XML; затем эту структуру можно использовать как единый индексируемый столбец в таблице.

Интеграция с Framework

Microsoft планирует применять технологию .NET внутри Yukon, запуская среду Common Language Runtime (CLR) внутри активного процесса SQL Server. Этот смелый шаг накладывает ряд ограничений на действия, которые может выполнять встроенный код .NET. В первую очередь, цель этих ограничений - обеспечение безопасности и реакция на фатальные сбои. Чтобы реализовать функции .NET в Yukon, в технологию .NET придется внести изменения, поэтому компания наверняка выпустит эти два продукта во взаимосвязи друг с другом.

Чтобы воспользоваться преимуществами интеграции технологии с Yukon, не нужно беспокоиться о реализации внутренних деталей .NET. Требуется лишь знать, как и когда применять функции .NET, реализованные в Yukon.

В каких случаях стоит задействовать функции .NET внутри базы данных? Логика .NET пригодится при проектировании функций для вычисления значений. Если функция должна обработать подмножество запросов базы данных и возвратить набор результатов, то лучше использовать логику T-SQL.

Как использовать функции .NET? В Visual Studio .NET можно строить проекты Visual Basic .NET и Visual C# .NET, в которых будут определены функции, эквивалентные определяемым пользователями функциям (user-defined functions - UDF) SQL Server. Данный подход имеет два преимущества. Во-первых, большинство разработчиков приложений лучше знакомы со стандартными языками программирования, чем с T-SQL. Во-вторых, процедурные языки выполняют вычисления значительно быстрее, чем T-SQL.

Улучшения в ADO.NET

Несколько важных улучшений появилось в ADO.NET. Некоторые из этих новшеств достойны упоминания, так как хотя они реализованы в ADO.NET, все же в какой-то степени связаны с Yukon. Первое из этих усовершенствований - значительно измененные функции одновременной обработки нескольких запросов. SQL Server 2000 и более ранние версии продукта обеспечивали "виртуальное" совместно используемое соединение; однако на практике для каждого набора записей (recordset) требуется отдельное соединение. С появлением Yukon положение изменится. ADO.NET обеспечит истинное разделение соединения между наборами записей, созданными с применением одного объекта связи.

Я не случайно использую термин "набор записей" (recordset) вместо "набор данных" (dataset). В Yukon ADO.NET будет поддерживать модель связи, при которой пользователи соединения не смогут изменять просматриваемые данные. Кроме того, ADO.NET будет поддерживать несколько других моделей связи, в том числе для курсоров клиентской стороны.

Что дальше?

Для многих разработчиков будущие изменения в Yukon почти так же важны, как новшества Whidbey. В следующей статье речь пойдет об изменениях в Whidbey. Более подробную информацию о Yukon можно получить по адресу:

http://www.microsoft.com/sql/yukon/productinfo/ default.asp,

а также

http://yukonblog.sqlteam.com/.

Билл Шелдон - С ним можно связаться по адресу: bsheldon@interknowlogy.com.