Книга ''SQL Server 2005'' посвящена новой версии известного программного продукта для управления базами данных от компании Microsoft. В книге детально освещаются вопросы выбора редакции программного обеспечения, установки, администрирования, использования сервера баз данных и сервисов, поставляемых в различных редакциях. Описаны сервисы нотификации, отчетов, аналитики, интеграции, а также брокер сервисов - новый компонент SQL Server. В книге уделено значительное внимание средствам разработки и программированию для SQL Server. Детально рассмотрены средства для интеграции со средой разработки Visual Studio 2005. Описание возможностей программного продукта подкреплено значительным количеством примеров и их детальным анализом.
Microsoft SQL Server 2005 является продолжением линейки продуктов серверов реляционных баз данных, зарекомендовавшей себя с наилучшей стороны в отношении надежности, расширяемости, масштабируемости и соотношении цены и производительности. Этот программный продукт имеет ряд преимуществ, которые выгодно отличают его от других программных продуктов для управления базами данных. Во многом эти преимущества позволяют продвинуться на рынок решений, ранее монопольно занимаемый Oracle. Архитектура программного решения от Microsoft значительно улучшена. Это позволило ему укрепиться на рынке решений для обработки онлайн-транзакций (OLTP), надежного хранения данных, создания и использования всевозможных сервисов, мощных средств для OLAP-анализа, а также приложений электронной коммерции.
Основным улучшением базы данных новой версии программного продукта является интеграция с Microsoft .NET Framework. Также стоит выделить появление новых типов данных, улучшение работы с XML, а также возможность использования некоторых расширений Transact-SQL. Сделан значительный рывок на рынок бизнес-приложений за счет расширенных механизмов репликации, а также масштабируемости систем на основе Microsoft SQL Server 2005. На порядок увеличена безопасность и разграничение прав доступа на уровне базы данных.
Брокер сервисов - это новый уровень в приложениях на основе SQL Server, который позволяет избавиться от зависимости между пользовательскими приложениями и базами данных. Благодаря этому разработчики могут создавать приложения на основе сервисов, которые обмениваются сообщениями с базой данных через очередь сообщений. Данной очередью управляет брокер сервисов. Подобные брокеры запросов давно используются многими производителями серверных программных решений, в которых часто обрабатываются базы данных на основе программных продуктов различных поставщиков. Примером тому может служить Documentum Content Server - приложение, использующее брокер запросов для реализации стратегии независимости от типов баз данных. Теперь Microsoft перенесла данную функциональность многих серверных программных продуктов на сервер баз данных.
В новой версии SQL Server значительно улучшены средства доступа к данным. Для этого переработана и улучшена работа адаптеров .NET Frameworks SQLClient и MDAC (Microsoft Data Access). Такое усовершенствование позволяет разработчикам более гибко контролировать доступ к данным, не пренебрегая при этом безопасностью и целостностью системы.
Значительно улучшена архитектура новых сервисов преобразования данных. Также изменениям подвергся DTS Designer. Теперь он имеет средства для разделения задач и данных, а также их отдельного выполнения. Это позволяет значительно ускорить работу данного сервиса и реализовать целый набор механизмов для управления потоками данных и задач. Помимо этого DTS Designer имеет средства для управления пакетами данных и пакетами задач, что также положительно сказывается на производительности системы.
Сервисы отчетов позволяют реализовать функциональность создания отчетов, управления, рассылки и доступа к ним конечных пользователей. На их основе можно выполнять всесторонний анализ данных, располагающихся в базе, осуществлять их разрезы в необходимых плоскостях и выводить результаты статистического анализа соответствующим пользователям в нужном формате.
Сервисы нотификации позволяют создавать гибкие приложения для отправки, получения и обработки сообщений. С их помощью можно выполнять отправку сообщений по расписанию, персонально доставлять данные на отдельно взятый компьютер пользователя, а также отображать их в необходимом формате. Все это становится доступным тысячам подписчиков, для которых настроена нотификация, рассылка сообщений, заданий или уведомлений с помощью сервисов нотификации Microsoft SQL Server 2005. Более того, разработчики могут гибко встраивать функции нотификации в свои приложения. Это дает дополнительный уровень свободы при взаимодействии пользователя с системой.
В новой версии SQL Server сервисы аналитики используются для анализа статистической информации, составления различных аналитических отчетов, разрезов данных с целью их дальнейшего применения в различных приложениях. Для разработки приложений, использующих сервисы аналитики, реализована возможность интеграции с .NET Framework. Для упрощения процесса создания подобных приложений реализован набор всевозможных помощников и утилит, которые призваны упростить разработку приложений на основе сервисов аналитики SQL Server.
В SQL Server 2005 появился огромный набор новых утилит, средств разработки, администрирования и управления базой данных. К таким средствам относятся:
В Microsoft SQL Server 2005 значительно расширены возможности механизма репликации данных. Расширения коснулись, в первую очередь, безопасности данных, упрощения управляемости систем, в которых используется репликация данных, а также поддержки гетерогенных сред с использованием баз данных на основе решений от других поставщиков программного обеспечения. Также улучшена программная модель для создания приложений с репликацией данных. В первую очередь это относится к Replication Management Objects (RMO), а также поддержке протокола HTTPS, через который теперь возможна репликация данных.
В настоящий момент формат XML используется во многих программных системах. Он зарекомендовал себя как платформенно-независимый формат представления неструктурированных и структурированных данных. В предыдущей версии Microsoft SQL Server были реализованы два механизма для работы с XML: хранение файлов в текстовых полях и конвертация содержимого XML-документа в реляционные таблицы. В случае использования первого механизма оставалось только реализовать синтаксический анализ кода на клиентской стороне приложения. Второй механизм применим только для структурированных данных в формате XML. Некоторые проблемы не удавалось решить с использованием предложенных механизмов. Для решения подобных проблем в Microsoft SQL Server 2005 создан новый тип данных.
Новый тип данных, называемый XML, относится к типам первого уровня. Это означает, что он может использоваться точно так же, как и другие типы SQL Server первого уровня. Это подразумевает использование типа в качестве колонок таблиц, переменных T-SQL, а также параметров процедур.
Используя общий язык выполнения программ (CLR), разработчики могут выбирать один из нескольких языков программирования, который больше всех подходит для решения возникающих проблем. Разработчики могут выбирать один из следующих языков программирования, на котором будут создаваться приложения сервера SQL: Transact-SQL, Microsoft Visual Basic .NET или Microsoft Visual C# .NET. Помимо этого CLR позволяет создавать гибкие приложения, состоящие из программного кода на нескольких языках программирования, а также использовать вставки кода, написанного в программных средах от третьих поставщиков.
Пожалуй, наибольшие изменения, которые коснулись SQL Server, - это интеграция данного программного продукта с .NET Framework. Версия SQL Server 2000 также имела элементы интеграции с данной средой разработки, за одним очень важным исключением: ядро сервера не интегрировалось с .NET Framework. Вследствие этого во время создания многозвенных решений приходилось прибегать к таким технологиям, как ADO.NET. Теперь же можно отказаться от использования промежуточных сред разработки и перейти на единую технологию создания приложений с помощью технологии .NET. Код, написанный на C#, J#, VB.NET и других языках программирования среды .NET Framework, может быть выполнен непосредственно транслятором ядра SQL Server.
Такие языки программирования, как C#, J# и VB.NET, позволяют реализовать более сложную логику, избавиться от использования сторонних технологий, а также сэкономить средства многим предприятиям на разработке программных продуктов. Более того, программистам, выполняющим разработки программного кода для SQL Server, нет необходимости изучать преимущества данного программного продукта. Теперь программисты могут легко создавать хранимые процедуры, триггеры, пользовательские функции и другие вставки программного кода с использованием всей мощи программной среды .NET Framework.
Не стоит также забывать о флагмане среды .NET Framework - программном продукте Visual Studio .NET. Новая версия этого продукта более полно интегрируется с Microsoft SQL Server 2005. В первую очередь это достигается за счет программных модулей и утилит. Это позволяет добиться более полной поддержки XML, а также OLAP. Среди таких программных модулей стоит выделить XML for Analysis (XMLA - специальный OLAP-интерфейс для решения разного рода бизнес-задач), а также MultiDimensional Expression (MDX) - синтаксис многомерных запросов в Microsoft SQL Server 2005. Более того, новая версия Visual Studio .NET 2005 поддерживает дополнительный набор объектов для создания аналитических приложений с использованием данных Microsoft SQL Server 2005.
Вместе с выходом SQL Server 2005 также была выпущена пробная версия данного приложения для использования в мобильных устройствах, которая ранее носила название SQL Server 2005 Windows CE Edition. Сейчас данное приложение называется Microsoft SQL Server Mobile Edition. Для его настройки и управления, так же как и для обычной версии SQL Server, используется SQL Server Management Studio. Теперь разработчики могут, используя данную утилиту, создавать базы данных, манипулировать схемами и объектами базы данных SQL Server Mobile Edition. Все это можно делать вне зависимости от того, на каком устройстве расположена мобильная база данных: на выделенном сервере или мобильном устройстве (с предустановленной операционной системой Windows Mobile). С помощью Management Studio можно настраивать репликацию и публикацию данных между базой данных на основе обычного SQL Server и мобильной версии. С помощью Management Studio также можно выполнять запросы к базе данных на основе SQL Server Mobile Edition.
Необходимо особо отметить следующую особенность SQL Server Mobile Edition: эта версия программного продукта интегрирована с сервисами трансформации данных (DTS). Используя данное преимущество, разработчики могут напрямую обращаться к базе данных и отображать данные в необходимом для них формате. Использование DTS-объектов позволит расширить границы применимости данной технологии в приложениях Visual Studio 2005.
В мобильной версии программного продукта достаточно много нововведений и преимуществ, ставших обычным явлением для базы данных Enterprise, однако не распространенным для мобильных баз данных. Среди таких преимуществ стоит выделить следующие:
В новой версии SQL Server значительно улучшены возможности пересылки протоколов баз данных с помощью механизма их зеркалирования. Зеркалирование баз данных позволяет потоковое выполнение транзакций между отдельными серверами в распределенной системе. В случае возникновения ошибки на первичном сервере (на котором выполнялась транзакция) приложение может восстановить соединение с одним из вторичных серверов. На подобную процедуру восстановления связи практически не тратится времени, что позволяет избежать огромного числа проблем, связанных с ошибками в сети или нестабильной работой серверов. В отличие от кластеризации серверов, зеркалирование в полной мере использует кэширование данных, а потому позволяет быстро восстанавливать транзакцию с места разрыва за счет синхронизации первичных и вторичных серверов.
Схема зеркалирования подразумевает, что в ней используются как минимум три сервера с запущенными SQL Server 2005. Каждый из трех серверов выполняет определенные операции, характерные только для него:
Среди основных преимуществ зеркалирования баз данных следует выделить возможность использования данного механизма в системах с низкой пропускной способностью сетей, а также возможность выполнения синхронизации данных в обоих направлениях. Это означает, что в некоторых ситуациях главный и зеркальный серверы могут меняться местами. В том случае, если по каким-либо причинам главный сервер становится недоступным, выполнение транзакции продолжается на зеркальном сервере. После этого зеркальный сервер становится главным. После того как бывший перед этим главным сервер станет доступным, он принимает на себя обязанности зеркального сервера. Как только будет закончена синхронизация данных, он будет готов подменить главный сервер в случае возникновения каких-либо проблем. Отметим еще одно преимущество зеркалирования баз данных: для данного механизма не требуется дополнительного программного или аппаратного обеспечения, что в конечном итоге удешевляет решение.
В Microsoft SQL Server 2005 для администраторов появилась возможность создавать и использовать представления баз данных в режиме только для чтения. Подобные представления носят название снимка базы данных. Снимки можно использовать без создания служебной копии базы данных. Использование снимка интересно в том отношении, что во время внесения каких-либо изменений в базу данных создается отдельная копия таблиц, которые подвергались модификации. В том случае, если изменения были внесены случайно или произошел сбой в работе базы данных, благодаря снимку можно вернуть базу данных в состояние, предшествующее внесению в нее изменений. Для этого необходимо просто выполнить копирование данных, подвергавшихся изменению, из снимка в рабочую базу данных.
В новой версии SQL Server появилась возможность выполнить восстановление данных (после сбоя или внесения неправильных данных) отдельно взятого экземпляра базы данных без его остановки. Во время восстановления определенного набора данных экземпляр базы данных будет недоступен. Однако по окончании процесса восстановления данные будут доступны так же, как и другие наборы данных. В SQL Server 2000 и более ранних версиях баз данных требовалось сначала остановить экземпляр базы данных для восстановления, выполнить копирование данных из резервной копии, а затем перезапустить экземпляр. В новой версии нет необходимости останавливать экземпляр для восстановления данных. Для восстановления данных во время работы экземпляра доступны два способа:
Ваши замечания, предложения, вопросы отправляйте по адресу электронной почты comp@piter.com (издательство "Питер", компьютерная редакция).
Мы будем рады узнать ваше мнение!
Подробную информацию о наших книгах вы найдете на веб-сайте издательства http://www.piter.com.