Microsoft SQL Server 2005

Вопросы перехода на новую версию. Часть 2

Алексей Федоров

Обновление ядра базы данных SQL Server

Переход на SQL Server 2005 Integration Services

Обновление аналитических сервисов SQL Server

Обновление сервисов отчетов SQL Server

Аппаратные и программные требования для SQL Server 2005

Платформа Intel Itanium 64-bit

Платформа x64

32-битная платформа

Заключение

Приложение 1

Приложение 2

Приложение 3

Приложение 4

 

В КомпьютерПресс № 9’2005 мы начали рассмотрение вопросов, связанных с переходом на новую версию SQL Server — Microsoft SQL Server 2005. Мы рассказали о доступных механизмах перехода: обновлении и миграции, об использовании утилиты Upgrade Advisor, а также подробно остановились на основных этапах процесса обновления: планировании, тестировании, собственно обновлении и о действиях, выпоняемых после обновления. В этом номере мы более подробно рассмотрим вопросы обновления отдельных компонентов SQL Server, а также аппаратные требования и поддерживаемые аппаратные конфигурации.

Обновление ядра базы данных SQL Server

Обновление ядра базы данных, наверное, самая простая из всех возможных операций обновления, связанных с переходом на SQL Server 2005. Успешное выполнение этой операции позволит вам незамедлительно улучшить производительность, управляемость и повысить доступность базы данных (более подробно об этих характеристиках SQL Server 2005 см. в № 9’2005).

Как мы уже говорили, для обновления ядра базы данных существует два подхода — миграция, при которой вы устанавливаете ядро базы данных SQL Server 2005 как второй сервер на том же компьютере, где установлен SQL Server 2000 или 7.0, либо на отдельном сервере, и обновление, при котором вы обновляете экземпляр SQL Server 2000 или 7.0 по месту путем установки SQL Server 2005 и обновления баз данных и других объектов СУБД.

При миграции самым простым способом обновления является выполнение операций по отсоединению/присоединению (detach/re-attach) баз данных либо по созданию резервной копии на текущем сервере и восстановлению баз данных на новой версии. Если скрипты для создания метаданных отражают самые последние изменения в ваших базах данных, можно использовать их для создания баз данных на SQL Server 2005, а затем с помощью утилиты BCP перенести сами данные. При обновлении по месту происходит обновление ядра и баз данных, появляется возможность использования новинок SQL Server 2005. Так, при запуске утилиты Setup.exe на сервере, где установлен SQL Server 2000 или 7.0, вы увидите опцию, позволяющую обновить сервер до SQL Server 2005.

Отметим, что при обновлении ядра базы данных все приложения, использующие Microsoft Data Access Components (MDAC), и приложения на основе ADO .NET продолжают работать так же, как они работали с SQL Server 2000 или 7.0. Это связано с тем, что в состав SQL Server 2005 не входит новая версия MDAC, а вместо этого поставляется SQL Native Client — компонент, включающий обновленный драйвер SQL ODBC и SQL OLE DB Provider с соответствующими сетевыми библиотеками в виде одной динамически загружаемой библиотеки (DLL). Новая версия драйверов позволяет клиентским приложениям использовать такие новинки SQL Server 2005, как Multiple Active Result Sets (MARS), тип данных XML и пользовательские типы данных (user-defined types, UDT). Следует помнить, что SQL Server 2005 интегрирован с .NET Framework 2.0, включая новую версию компонентов для доступа к данным ADO .NET 2.0.

Обновление SQL Server по месту — довольно простая операция, выполняющаяся почти автоматически. Преимущества такого обновления очевидны: все строки подключения остаются актуальными, приложения продолжают функционировать, а задания SQL Agent и другая функциональность обновляются в процессе установки и тоже остаются работоспособными. Тем не менее нужно иметь в виду, что в данном случае необходимо ручное обновление в таких областях, как log shipping, репликация и работа сервера в кластерах.

Как уже было отмечено, после обновления базы данных находятся в режиме совместимости с версией 8.0. Этот режим можно оставить в тех случаях, когда используются не поддерживаемые в версии 2005 конструкции T-SQL. К таким конструкциям, в частности, относятся синтаксис query hints (требуется использование ключевого слова WITH), синтаксис JOIN (в том числе *= и =* для операций join) и ряд других, о чем более подробно написано в Books Online (BOL) и протоколе, выдаваемом по результатам работы программы Upgrade Adviser. Вариантом проверки совместимости T-SQL-кода с SQL Server 2005 может быть генерация скрипта для всех объектов и процедур и попытка его выполнения в SQL Server 2005. Также необходимо иметь в виду, что некоторые T-SQL-команды могут быть включены непосредственно в код приложения — в так называемый динамический T-SQL, и тогда потребуется доступ к исходному коду приложения.

Как правило, рекомендуется устранить неподдерживаемые в версии 2005 конструкции T-SQL и переключиться в режим совместимости с версией 9.0 (SQL Server 2005), для чего можно использовать либо панель свойств базы данных, либо хранимую процедуру sp_dbcmptlevel. После того как база данных будет переведена в режим совместимости с версией 9.0, у разработчиков появится доступ ко всей новой и расширенной функциональности SQL Server 2005.

Еще один нюанс связан с применением различных системных объектов. Основной рекомендацией Microsoft всегда было использование отражений Information_Schema для получения различных метаданных вместо прямых запросов к системным таблицам, корпорация не гарантировала неизменности структуры системных объектов от версии к версии. В версии 2005 как раз и произошло такое изменение. Если по каким-то причинам в вашем коде используется доступ к системным таблицам, программа Upgrade Adviser обнаружит это и укажет, что именно необходимо поправить. Напомним, что на вход программы можно подать и скриптовый T-SQL-код создания объектов базы данных, и содержимое протокола трассировки (trace log).

Следует отметить, что изменения коснулись catalog views и Dynamic Management Views (DMV): доступ к ним теперь требует соответствующих привилегий. В SQL Server 2005 пользователи группы PUBLIC не имеют доступа к catalog views, а пользователи группы GUEST/PUBLIC не могут выполнять выборки из Dynamic Management Views.

В начало В начало

Переход на SQL Server 2005 Integration Services

Server 2005 Integration Services (SSIS) — это написанный с нуля механизм извлечения, преобразования и загрузки данных (Extract, Transform, Load — ETL), который пришел на смену сервисам трансформации данных Data Transformation Services (DTS). Необходимость в полной замене данного сервиса была вызвана тем, что DTS не удовлетворял растущим требованиям к производительности и обработке постоянно увеличивающихся объемов корпоративных данных. Архитектура SSIS существенно отличается от архитектуры DTS, поэтому миграция может потребовать редизайна существующих DTS-задач и пакетов, хотя мастер миграции DTS Migration Wizard значительно упрощает эти действия, автоматизируя преобразование от 50 до 70% задач.

Приведем краткий список, показывающий возможности автоматического переноса и необходимые ручные действия:

  • простые преобразования данных (Data Pump) — преобразования данных, созданные средствами DTS Wizard или трансформации с копированием колонок, в большинстве случаев могут быть обновлены автоматически с помощью DTS Migration Wizard;
  • преобразования с логикой — такие преобразования, включая преобразования с заданиями типа Execute SQL, в большинстве случаев могут быть обновлены автоматически посредством DTS Migration Wizard;
  • преобразования с трансформацией — если для разработки преобразований с трансформацией использовался DTS Wizard, то мастер DTS Migration Wizard превратит эти пакеты в новые, которые будут вызывать соответствующие функции прежней объектной модели DTS. Перед переносом указанных пакетов на версии, следующие после SQL Server 2005, необходимо их преобразовать таким образом, чтобы они использовали новые конструкции SSIS. То же самое относится и к задачам класса Data Driven Query Tasks и Parallel Pump Tasks;
  • самомодифицируемые пакеты — требуется редизайн пакетов, которые манипулируют DTS-объектами и их свойствами через DTS API. Например, для реализации цикличной функциональности (looping) можно использовать SSIS-контейнеры For Loop и For-Each Loop;
  • задания со скриптовой логикой — преобразованный пакет, использующий ActiveX Script Task, будет работать под управлением SSIS, если только он не обращается к объектам DTS в режиме выполнения. Тем не менее рекомендуется выполнить редизайн таких пакетов и использовать в них новую функциональность SSIS;
  • задания с OLAP-обработкой — как и в случае с заданиями Data Transformation, мастер DTS Migration Wizard преобразует задания с OLAP-обработкой таким образом, чтобы они могли выполняться под управлением SSIS. Однако рекомендуется выполнить редизайн таких пакетов и использовать в них новую функциональность SSIS;
  • специфические задания — в большинстве случаев специфические задания (custom tasks) будут выполняться под SSIS, но все-таки рекомендуется создать новые задания и трансформации, используя функциональность SSIS;
  • задания с динамическими свойствами — для таких заданий требуется редизайн с заменой функциональности Dynamic Property на Expressions и Configurations.

Как следует из приведенного списка, многие задания и пакеты могут быть перенесены в SQL Server 2005 без дополнительных усилий со стороны разработчиков, тогда как некоторое число заданий и пакетов потребует редизайна с учетом новой функциональности SSIS. Отметим, что при установке SQL Server 2005 у вас есть возможность установить и среду исполнения для DTS-пакетов, по этой причине они смогут выполняться на SQL Server 2005 без установки SQL Server 2000, для чего в состав SSIS входит соответствующий объект — Execute DTS Package. Таким образом, возможность параллельного выполнения SQL Server 2005 SSIS и SQL Server 2000 DTS обеспечивает максимальную гибкость в процессе миграции существующих пакетов и заданий.

В начало В начало

Обновление аналитических сервисов SQL Server

Основная функциональность Analysis Services 2000 — размерности, модели хранения, агрегатные функции и т.п. — перешла в SQL Server 2005. Кроме того, в новом продукте появился ряд существенных расширений и изменений. Например, Unified Dimensional Model (UDM) значительно расширяет возможности OLAP, предоставляя доступ к реляционным и агрегированным данным. Размерности также претерпели изменения: переход от модели, основанной на иерархиях, к модели, базирующейся на атрибутах, с соответствующими оптимизациями хранилища и выполнения агрегатных функций позволяет Analysis Services 2005 полноценно обрабатывать корпоративные данные любых объемов и обладать возможностями масштабирования для решения задач всех уровней сложности.

Microsoft обеспечивает прямое обновление с Analysis Services 2000 до Analysis Services 2005 «по месту», сохраняя кубы, меры, размерности, иерархии, вычисления и наборы. А поскольку объекты Analysis Services построены поверх Data Source View (DSV), нужно создать соответствующие DSV для базовых таблиц, используемых объектами Analysis Services 2000, а не обращаться к представлениям, ссылающимся на соответствующие базовые таблицы. Средство миграции Migration Wizard автоматизирует процесс генерации необходимых DSV, включая отношения и атрибуты на основе исходных таблиц, что позволяет разработчикам добавлять атрибуты к кубам даже в тех случаях, когда эти атрибуты отсутствуют в Analysis Services 2000.

Необходимо подчеркнуть, что Migration Wizard не оптимизирует объекты Analysis Services — они просто переносятся на сервер Analysis Services 2005. Задача же мастера состоит в миграции структур кубов и архитектуры объектов таким образом, чтобы приложения, использующие структуры Analysis Services 2000, продолжали работать после переноса кубов в Analysis Services 2005. И хотя при миграции структур кубов новые возможности SQL Server 2005 не используются, вы получите преимущества в производительности и масштабируемости за счет новой архитектуры Analysis Services 2005. После завершения работы Migration Wizard вы можете обработать ваши кубы и протестировать данные и отчеты.

При переходе на Analysis Services 2005 большинство нюансов связано с методами клиентского доступа и структурными изменениями отчетов. В Analysis Services 2005 используется новый Web-протокол для OLAP — XML for Analysis (XML/A), в разработке которого принимала участие компания Microsoft. Поддержка этого протокола была реализована для Analysis Services 2000 (в виде отдельно загружаемого дополнения) и позволяла Analysis Services 2000 получать XML/A-запросы и отвечать на них. Для использования встроенной поддержки XML/A необходимо обновить существующие клиентские компоненты OLEDB for OLAP (Pivot Table Access — PTS) для доступа к SQL Server 2005. Это означает, что все пользователи должны иметь на компьютерах самую новую версию драйвера PTS, поставляемого в составе SQL Server 2005. Новый драйвер должен быть установлен без удаления существующего, вследствие чего пользователи сохранят доступ к Analysis Services 2000 и получат доступ к Analysis Services 2005. Второй момент состоит в совместимости OLAP-структур и соответствующих MDX-конструкций. Несмотря на то что мастер Migration Wizard старается максимально корректно воссоздать OLAP-структуры, из-за изменения архитектуры размерностей (от основанной на иерархиях к основанной на атрибутах) после обновления могут обнаружиться некоторые аномалии. Напомним, что тщательное тестирование отчетов и данных в этом случае более критично, чем после обновления ядра базы данных. Существует вероятность, что потребуется повторное создание некоторых отчетов и соответствующих MDX-конструкций для структур Analysis Services 2005.

В начало В начало

Обновление сервисов отчетов SQL Server

Первая версия Reporting Services 2000 была выпущена в начале 2004 года, поэтому больших архитектурных изменений в платформе Reporting Services 2005 не произошло. Тем не менее в версии 2005 появился ряд новшеств, включая мультипараметры, встроенную поддержку MDX и динамическую генерацию отчетов. В период перехода на SQL Server 2005 компания Microsoft предоставляет возможность замены Reporting Services на версию Reporting Services 2005 прямо по месту. К тому же Reporting Services 2005 могут выполнять RDL-описания отчетов, созданных в Reporting Services 2000, без их преобразования. Однако при открытии отчета в BI Development Studio разработчику будет предложено преобразовать RDL-файлы в соответствии с новыми стандартами, используемыми в Reporting Services 2005.

В начало В начало

Аппаратные и программные требования для SQL Server 2005

Б азовые аппаратные и программные требования для SQL Server 2005 остались практически такими же, что и для SQL Server 2000. Так, SQL Server 2005 может работать под управлением Windows Server 2003, Windows XP и Windows Server 2000 на следующей рекомендованной аппаратной платформе: процессор с частотой 1 ГГц и 1 Гбайт или более оперативной памяти. Аппаратные требования для SQL Server 2005 различных редакций представлены в таблице.

 

Аппаратные требования для SQL Server 2005

Аппаратные требования для SQL Server 2005

Кроме того, для работы Reporting Services 2005 требуется Microsoft Internet Information Services версии 5.0 или выше.

Как мы уже отмечали, SQL Server 2005 требует такой же аппаратной конфигурации, что и SQL Server 2000. Изменения в ценах и в возможностях как аппаратных, так и программных платформ, произошедшие с момента выхода SQL Server 2000, позволяют пересмотреть вопрос выбора оптимальной платформы для SQL Server 2005.

Усовершенствования процессоров AMD и Intel, включая поддержку платформы x64, вместе с новой операционной системой Microsoft — Windows Server 2003 x64 Edition — дают возможность рассматривать 64-битную платформу в качестве наиболее оптимальной как для новых применений SQL Server 2005, так и для обновления существующих систем. Для корректного определения требуемой платформы нужны данные о типовом использовании SQL Server, а также о возможностях бюджета.

Ниже мы рассмотрим типовые характеристики трех аппаратных платформ — Intel Itanium 64-bit, x64 и 32-битной платформы.

В начало В начало

Платформа Intel Itanium 64-bit

Для задач, требующих высокой масштабируемости, лучше всего подходят системы на базе Intel Itanium 2, которые занимают все верхние строчки в тестах TPC-C для Windows Server и четыре из десяти верхних строчек во всех тестах TPC-C. Эти системы поддерживают больший объем адресуемой памяти по сравнению с платформой x64 и обеспечивают SMP-функциональность. И хотя системы на базе Itanium 2 стоят дороже, они обеспечивают лучшие характеристики производительности. Такие системы обычно служат для аппаратного обеспечения бесперебойной работы серверов и для аппаратной поддержки партиционирования.

В начало В начало

Платформа x64

Данная платформа оптимально обеспечивает поддержку двух- и четырехсерверных конфигураций без повышенных требований к масштабируемости системы. Причинами перехода на платформу x64 могут быть высокие требования к памяти у существующей системы и достижение 2-гигабайтного барьера 32-битных Windows-систем. Вы можете использовать Address Windowing Extensions (AWE) для доступа к 3 Гбайт памяти, но AWE применяет Non Paged Memory и из-за этого не может предоставить такой производительности, как x64-система. Не менее значимой причиной перехода на платформу x64 может быть повышение производительности приложений Business Intelligence или сценариев, связанных с консолидацией серверов.

Переход с 32-версии SQL Server на 64-битную происходит очень просто. Обе версии SQL Server используют те же дисковые структуры, и все, что вам потребуется сделать, — это отсоединить базы данных на 32-битной системе и подсоединить их на 64-битной системе. Никаких изменений в клиентских приложениях вносить не нужно.

В начало В начало

32-битная платформа

Сегодня 32-битная платформа лидирует по показателю «цена/производительность». Если текущая система на базе SQL Server 2000 имеет запас по памяти, производительности и другим характеристикам, вы можете продолжать использовать имеющуюся у вас аппаратную платформу и с SQL Server 2005. Отметим, что хотя 32-битные системы не обеспечивают того же уровня масштабируемости, что 64-битные платформы, но производительность 32-битных систем продолжает расти за счет увеличения скорости процессоров и появления в нынешнем году систем на базе процессоров с двумя ядрами (dual-core systems).

В начало В начало

Заключение

Переход на SQL Server 2005 требует продуманного планирования и тщательного тестирования. Только при внимательном пошаговом подходе и после соответствующей подготовки, используя SQL Server 2005 Upgrade Advisor и Setup Wizard, вы сможете избежать неприятных сюрпризов и определить те области вашего приложения, которые требуют дополнительных действий (включая ручную коррекцию кода, перенастройку компонентов, изменение клиентских компонентов и т.п.). И лишь в случае осуществления полноценного перехода на SQL Server 2005 и при решении всех связанных с этим вопросов вы сможете воспользоваться новой функциональностью, реализованной в данном продукте.

В начало В начало

Приложение 1

Действия перед обновлением ядра базы данных

Перед обновлением ядра базы данных с SQL Server 7.0/2000 на SQL Server 2005 следует выполнить действия в такой последовательности:

  1. Ознакомиться с аппаратными и программными требованиями SQL Server 2005.
  2. Проверить требования к программным компонентам с помощью System Configuration Checker.
  3. Ознакомиться с разделом «Security Considerations» в SQL Server Books Online.
  4. Ознакомиться с принципами работы Upgrade Advisor — см. раздел «Using Upgrade Advisor to Prepare for Upgrades» в Books Online.
  5. Ознакомиться с разделом «SQL Server 2005 Database Engine Backward Compatibility» в SQL Server Books Online.
  6. Создать резервные копии всех баз данных SQL Server для обновляемого экземпляра SQL Server.
  7. Проверить целостность всех обновляемых баз данных с помощью соответствующих команд Database Console Commands (DBCC).
  8. Подсчитать требуемое для обновления компонентов SQL Server и пользовательских баз данных свободное дисковое пространство.
  9. Убедиться в том, что все системные базы данных SQL Server — master, model, msdb и tempdb — сконфигурированы с опцией autogrow и что для них есть необходимое свободное дисковое пространство.
  10. Убедиться в том, что для всех серверов баз данных информация о подключении (logon information) хранится в базе данных master. Это необходимо для восстановления баз данных, так как информация о системном подключении хранится в базе данных master.
  11. Запретить выполнение всех хранимых процедур, обычно выполняющихся в режиме startup, поскольку в процессе обновления происходят остановка и запуск сервисов SQL Server, то есть такие хранимые процедуры могут нарушить работу процесса обновления.
  12. Остановить процесс репликации и убедиться в том, что протокол репликации пуст.
  13. Завершить работу всех приложений, включая все сервисы, зависящие от SQL Server.

Кроме того, в процессе подготовки к обновлению необходимо:

  1. Составить список всех приложений, использующих SQL Server, включая их версии, компоненты, установленные пакеты обновления и т.п.
  2. При этом рекомендуется использовать максимально схожие или совместимые версии SQL Server. Перед выбором версии необходимо проверить, полностью ли доступна вся требуемая функциональность в данной редакции SQL Server 2005. Для этого следует использовать «Cross-SKU Upgrade Matrix» в Books Online.
  3. Запустить утилиту Upgrade Advisor, которая может быть использована для изучения как работающих серверов SQL Server, так и скриптов T-SQL или результатов трассировки (Trace Log).
  4. Изучить отчет, подготовленный Upgrade Advisor.
  5. Исправить или найти обходы для несовместимостей, выявленных Upgrade Advisor.
  6. Провести тестирование производительности текущей системы и сохранить результаты для последующего сравнения с производительностью обновленной системы.
В начало В начало

Приложение 2

Действия в процессе обновления ядра базы данных

При обновлении ядра базы данных с SQL Server 7.0/2000 на SQL Server 2005 следует выполнить следующую последовательность действий:

  1. Установить требуемые системные компоненты.
  2. Убедиться в отсутствии проблем, связанных с выполнением шага 1.
  3. Установить SQL Server 2005.
  4. Остановить сервис SQL Server 2000.
  5. Переключиться на SQL Server 2005.
  6. Запустить сервис SQL Server 2005 в режиме single user.
  7. Присоединить пользовательские базы данных.
  8. Остановить сервис SQL Server 2005.
  9. Перезапустить сервис SQL Server 2005.
  10. Начать обновление всех баз данных.
  11. Выполнить скрипты обновления репликации и SQL Agent.
  12. Убедиться в отсутствии проблем на предыдущих шагах.
  13. Удалить SQL Server 2000.
В начало В начало

Приложение 3

Завершающие действия после обновления ядра базы данных

После обновления ядра базы данных с SQL Server 7.0/2000 на SQL Server 2005 необходимо выполнить следующую последовательность действий:

1. Выполнить рекомендации по операциям post-upgrade из отчета Upgrade Advisor:

• например, произвести обновление статистики, перестройку кубов;

• выполнить миграцию с DTS на SQL Server Integration Services;

• изменить уровень совместимости базы данных (Database COMPATIBILITY Level).

2. Переконфигурировать Log Shipping.

3. Выполнить необходимые тесты:

• тест проверки успешности операций обновления;

• тест производительности. Сравнить результаты для системы на базе SQL Server 7.0/2000 с результатами для системы на базе SQL Server 2005.

4. Проверить Agent Jobs и другие задачи.

5. Перевести всю систему в режим полной работы.

6. Выполнить мониторинг активности системы.

В начало В начало

Приложение 4

Доступность системы в процессе обновления

Доступность системы в процессе обновления

КомпьютерПресс 11'2006


Наш канал на Youtube

1999 1 2 3 4 5 6 7 8 9 10 11 12
2000 1 2 3 4 5 6 7 8 9 10 11 12
2001 1 2 3 4 5 6 7 8 9 10 11 12
2002 1 2 3 4 5 6 7 8 9 10 11 12
2003 1 2 3 4 5 6 7 8 9 10 11 12
2004 1 2 3 4 5 6 7 8 9 10 11 12
2005 1 2 3 4 5 6 7 8 9 10 11 12
2006 1 2 3 4 5 6 7 8 9 10 11 12
2007 1 2 3 4 5 6 7 8 9 10 11 12
2008 1 2 3 4 5 6 7 8 9 10 11 12
2009 1 2 3 4 5 6 7 8 9 10 11 12
2010 1 2 3 4 5 6 7 8 9 10 11 12
2011 1 2 3 4 5 6 7 8 9 10 11 12
2012 1 2 3 4 5 6 7 8 9 10 11 12
2013 1 2 3 4 5 6 7 8 9 10 11 12
Популярные статьи
КомпьютерПресс использует