Содержание
- 2. О чем будем говорить Инструменты Методика На что можно напороться Как с этим бороться
- 3. Предисловие Я постараюсь рассказать о: Вариантах перехода, методике, инструментах и планировании С фокусом на реляционную часть
- 4. Определитесь в окружении Анализ оборудования и инфраструктуры Мощность сервера – CPU, RAM, network, storage Возможности дисковой
- 5. Цена освоения нового функционала Resource Governor* Filtered Indexes/Statistics Data/Backup Compression* Enhanced SQL Server Audit* Transparent Data
- 6. Общий обзор подхода Анализ окружения Требования к миграции Выбор редакции Требования к оборудованию Использовать Upgrade Advisor
- 7. Что поддается миграции Компоненты Реляционный движок Включая суб компоненты такие как SQL Agent, Tools, и.т.д. Full-text
- 8. Варианты миграции: In-Place (замещение) Обновление существующей инсталляции при сохранении пользовательских данных Имя экземпляра после миграции остается
- 9. SQL Server 2000/5 Instance SQL Server 2008 Instance Бывший SQL Server 2000/2005 Замещение: In-Place
- 10. За и против: In-Place За Проще, автоматический процесс Довольно быстро (может быть применен для VLDB) Обновление
- 11. Миграция: Side-by-side (Параллельная установка) Ставится новый экземпляр SQL Server Объекты БД переносятся между экземплярами вручную Copy
- 12. SQL Server 2000/5 Instance SQL Server 2008 Instance Работает! Миграция: Side-by-side
- 13. За и против: Side-by-side За Процесс поддается контролю На уровне БД Может использоваться для тестирования миграции
- 14. Инструментарий: анализ Upgrade Advisor Анализирует SQL Server БД, файлы трассировки и скрипты Операция только читающая, но
- 15. Чем пользоваться при миграции
- 16. Как выбрать замещение или параллельная установка Критичность приложения и его сложность Критичные приложения не обязательно сложны,
- 17. Перед миграцией Совместимость Часть функционала отмерла: Ее просто нет в составе SQL Server 2008 Например: ряд
- 18. Перед миграцией Оно вам нужно? Как проверить, что будет «потом»? Как подготовиться к неожиданностям? Только тестирование
- 19. Как собрать данные по производительности Нужно снять реальную нагрузку Прямо с промышленной системы Относительно просто Не
- 20. ReadTrace Предназначена для разбора TRC файлов Много лучше, чем читать TRC средствами fn_trace_gettable Разбирает TRC в
- 21. Нормализация текста запроса select round(sum(-CS.Amount*CS.Price/(case when @currid =2 then R.RateTPK else R.RateETC end)*CH.Direction),0) as Result from
- 22. ReadTrace
- 23. ReadTrace Берем результаты обработки старой и новой БД Делаем выборку по производительности запросов На основании сравнения
- 24. ReadTrace INSERT INTO TEMPDB..MINS25 SELECT MIN(DURATION / 1000) 'Минимальное', MAX(DURATION / 1000) 'Максимальное', AVG(DURATION / 1000)
- 25. ReadTrace Сравнивать можно Duration CPU Read Write Наиболее правильным будет сравнение по чтениям Именно они характеризуют
- 26. Демо как работает ReadTrace Readtrace_RUN.cmd
- 27. Результаты сравнения По моему опыту результаты сравнения обычно выглядят так (для OLTP систем) Отрицательные значения на
- 28. Сравнили, нашли. Что дальше? Определяем команды, которые стали больше читать Смотрим sys.dm_db_missing_index _* Query processor все
- 29. Демо Как работать с планом из кеша SQL Plan From Cache.sql XML план XML Notepad Параметры
- 30. Что можно сказать заранее SQL 2005/2008 Обожают include индексы (в разумных пределах это хорошо) Стараются всеми
- 31. Совместимость Посмотрите в документации Behavior Changes to Database Engine Features in SQL Server 2008 Deprecated Database
- 32. Совместимость SQL 2008 ставит (большой) набор счетчиков, отслеживающих устаревшие конструкции языка Но как понять, в какой
- 33. Совместимость Для перехвата конкретного кода устаревших команд можно использовать Profiler Deprecation Announcement event class Deprecation Final
- 34. Демо - совместимость SQL Profiler Extended events
- 35. Решено, мигрируем. Что дальше?
- 36. До начала миграции Подготовка среды Обеспечиваем «чистую» среду Database consistency checks Можно даже сжать (shrink) БД
- 37. До начала миграции Зависимости Предполагается, что работы с Upgrade Advisor и тестированию совместимости закончены Само приложение
- 38. До начала миграции Базовая линия Создайте документацию на решение sp_configure, SQLDIAG, sp_dboption Конфигурация сети, хранилища, системы
- 39. Миграция Тщательно и подробно документируйте каждый шаг Следите за сообщениями от сервера, стойки, сети Убедитесь, что
- 40. Мигрировали? Славно, теперь все только начинается Приложение вышло под промышленную нагрузку Теперь его нужно мониторить и
- 41. После миграции В первую очередь Проверьте все журналы Еще раз посмотрите рекомендации Upgrade Advisor Обновите статистику
- 42. После миграции В первую очередь Configuration Manager Особенно важен для параллельнной установки для настройки среды исполнения,
- 43. НУ И? Все хорошо! Все плохо!
- 44. Хочу назад!! Уже после миграции что-то пошло сильно не так, нужно откатываться Вероятность такого варианта прямо
- 45. После миграции Что можно сделать в первую очередь Типы данных Проверьте точность представления и размеры хранения
- 46. После миграции Что можно сделать в первую очередь (2) Секционированные таблицы Enterprise Edition Секционированные представления ->
- 47. После миграции Использование нового функционала Посмотрите на качество индексирования и возможность использования индексированных представлений Оцените качество
- 48. После миграции На более дальнюю перспективу Новые типы данных Более удобные типы – date, time Если
- 49. Часто встречающиеся проблемы После перехода на SQL Server 2008 запросы исполняются дольше В чем может быть
- 50. Новый функционал и производительность
- 51. Чудо? Нет, это не к нам Как таковая, миграция не гарантирует резкого роста производительности Рожденный ползать…
- 52. Ну, не совсем В некоторых областях прорыв возможен Full-text Search Запрос, охватывающий несколько секций Запрос по
- 53. Интегрированый Full Text Search План гораздо лучше
- 54. Секционированные таблицы SQL 2005 SQL 2008
- 55. Star Join Множественные битовые индексы Реорг фильтров Fact table scan Dimension 2 Dimension 1 Hash join
- 56. Демо Bitmap Filters BitmapIndexes.sql
- 57. DECLARE с присвоением Может удивить set statistics profile on GO declare @state varchar(2) = 'CA' select
- 58. Row creator Имеет ограничения USE Tempdb go create table foo (fld1 char(10)) go insert foo (fld1)
- 59. Resource Governor Классифицирующая функция исполняется на каждом подключении Если она слишком сложная/тормозная, всем будет очень плохо
- 60. Заключение Концептуально обновление – ничего хитрого, НО следите за человеческим фактором! Жестких правил нет, аккуратность и
- 61. Вопросы?
- 62. Track Resources1 SQL Server 2008 Upgrade Assistant (free download) http://ww.scalabilityexperts.com/ssua/ Microsoft Connect (feedback, suggestions, bugs, wish
- 63. Track Resources2 Using Multiple Versions of SQL Server in a Repllication Topology http://technet.microsoft.com/en-us/library/ms143241(SQL.100).aspx Backwards compatibility, changed,
- 64. Заполните анкету: http://platforma2009.ru/Eval.aspx Терминалы - холлы конференции и интернет-кафе на 1 этаже Чтобы участвовать в розыгрыше
- 66. Скачать презентацию