+7 (495) 229-0436   shopadmin@itshop.ru 119334, г. Москва, ул. Бардина, д. 4, корп. 3
 
 
Вход
 
 
Каталог
 
 
Подписка на новости
Новости ITShop
Windows 7 и Office: Новости и советы
Обучение и сертификация Microsoft
Вопросы и ответы по MSSQLServer
Delphi - проблемы и решения
Adobe Photoshop: алхимия дизайна
 
Ваш отзыв
Оцените качество магазина ITShop.ru на Яндекс.Маркете. Если вам нравится наш магазин - скажите об этом Google!
 
 
Способы оплаты
 
Курс расчета
 
 1 у.е. = 94.09 руб.
 
 Цены показывать:
 
 
 
 
  
Новости, статьи, акции
 

Отлов несовместностей после перехода на SQL Server 2008. Часть 1

24.03.2010 10:28

Будем считать, что мы благополучно перешли на SQL Server 2008, потому что сколько можно. Уже 2010-й год на дворе. После перехода бестолку ловить discontinued фичи в базах и скриптах, потому что все, что поленились заранее вычистить, проявится само. Оно попросту не будет работать. Придется исправлять в боевых условиях. Удачи и поменьше вам такого удовольствия, а мы сконцентрируемся на том, что называется deprecated и obsolete. В прошлогоднем посте, разбирая Upgrade Advisor, мы обнаружили, что не все инструкции такого типа он в состоянии отловить, и я обещал подогнать для этого более надежные инструменты. Одним из таких инструментов является обычный виндузовый Performance Monitor, точнее, счетчики категории SQL Server:Deprecated Features, которые SQL Server 2008 добавляет туда при своей установке. Их названия достаточно самоописательные. Например, экземпляр по имени Data types: text ntext or image означает, что где-то встретилось поле таблицы или переменная этих типов, которые надлежит переделать на varchar/nvarchar/varbinary(max) . Если сделать что-то вроде declare @t table (fld1 text, fld2 image), счетчик SQL Server:Deprecated Features\Data types: text ntext or image увеличится на 2, потому что за грех считается каждая несовместность (в данном случае - и text, и image), а не по строкам или операторам, в которых эти несовместности встретились. Откройте PerfMon и добавьте в сбор все экземпляры счетчиков категории SQL Server:Deprecated Features.

image

рис.1

Счетчики обнуляются при рестарте SQL Server и прирастают всякий раз, когда встретится какая-либо несовместность. Перезапустите SQL Server для чистоты эксперимента и посмотрите, как резко упали в ноль все графики. А, черт. Остановите Reporting Service и еще раз перезапустите SQL Server. Запустите типовую нагрузку, которую вы хотите проверить на вшивость. В смысле, на deprecated функциональность. Я в качестве типовой нагрузки возьму вторую часть (Deprecated) Скрипта 1 из поста SQL Server 2008 Upgrade Advisor. Давайте выполнять его построчно

select databaseproperty('AdventureWorks_2005', 'Version') --будет заменена на  databasepropertyex

exec sp_dboption @dbname = 'AdventureWorks_2005', @optname = 'trunc. log on chkpt.', @optvalue = 'true' --sp_dboption в целом заменяется командой alter database; в данном случае действие эквивалентно ALTER DATABASE ... SET RECOVERY SIMPLE

select * from Production.Product with (fastfirstrow) -- хинт заменен на OPTION (FAST N)

...

и смотреть, что происходит с графиками на PerfMon. Они, как и следовало ожидать, прирастают по мере происхождения несовместностей:

image

рис.2

Собственно, PerfMon здесь нужен только для наглядности демонстрации. По-хорошему, все его счетчики можно собрать на стороне SQL Server. В данном случае, поскольку это SQL Serverные счетчики, можно прибегнуть к Способу №4, заюзав DMVшку sys.dm_os_performance_counters (бывшую sys.sysperfinfo, которая, кстати, нынче является deprecated J):

select * from sys.dm_os_performance_counters where object_name like '%deprecated%'

image

рис.3

Например, посмотрим текущее показание счетчика несовместностей типа SQL Server:Deprecated Features\Data types: text ntext or image, выполним некоторый скрипт и снова проверим показания счетчика:

select * from sys.dm_os_performance_counters where instance_name = 'Data types: text ntext or image'

go

declare @t table (fld1 text, fld2 image)

go

select * from sys.dm_os_performance_counters where instance_name = 'Data types: text ntext or image'

image

рис.4

Все прекрасно работает. Тем не менее, метод имеет, на мой взгляд, два недостатка.  Первый - он смотрит в масштабах всего сервера. Нельзя ограничить проверку на конкретную базу или приложение. Например, выше нам пришлось стопить службу отчетности, чтобы она не вносила свое влияние в результат эксперимента. Второе - метод не позволяет ничего сказать про то, в каком месте базы или кода встретилась пойманная несовместность.  Ставить select * from sys.dm_os_performance_counters where object_name like '%deprecated%' после каждой строчки кода нереально. В следующей серии мы посмотрим, как можно преодолеть эти недостатки.

Ссылки по теме

  
Помощь
Задать вопрос
 программы
 обучение
 экзамены
 компьютеры
Бесплатный звонок
ICQ-консультанты
Skype-консультанты

Общая справка
Как оформить заказ
Тарифы доставки
Способы оплаты
Прайс-лист
Карта сайта
 
Бестселлеры
Курсы обучения "Atlassian JIRA - система управления проектами и задачами на предприятии"
Microsoft Windows 10 Профессиональная 32-bit/64-bit. Все языки. Электронный ключ
Microsoft Office для Дома и Учебы 2019. Все языки. Электронный ключ
Курс "Oracle. Программирование на SQL и PL/SQL"
Курс "Основы TOGAF® 9"
Microsoft Office 365 Персональный 32-bit/x64. 1 ПК/MAC + 1 Планшет + 1 Телефон. Все языки. Подписка на 1 год. Электронный ключ
Курс "Нотация BPMN 2.0. Ее использование для моделирования бизнес-процессов и их регламентации"
 

О нас
Интернет-магазин ITShop.ru предлагает широкий спектр услуг информационных технологий и ПО.

На протяжении многих лет интернет-магазин предлагает товары и услуги, ориентированные на бизнес-пользователей и специалистов по информационным технологиям.

Хорошие отзывы постоянных клиентов и высокий уровень специалистов позволяет получить наивысший результат при совместной работе.

В нашем магазине вы можете приобрести лицензионное ПО выбрав необходимое из широкого спектра и ассортимента по самым доступным ценам. Наши менеджеры любезно помогут определиться с выбором ПО, которое необходимо именно вам. Также мы проводим учебные курсы. Мы приглашаем к сотрудничеству учебные центры, организаторов семинаров и бизнес-тренингов, преподавателей. Сфера сотрудничества - продвижение бизнес-тренингов и курсов обучения по информационным технологиям.



 

О нас

 
Главная
Каталог
Новинки
Акции
Вакансии
 

Помощь

 
Общая справка
Как оформить заказ
Тарифы доставки
Способы оплаты
Прайс-лист
Карта сайта
 

Способы оплаты

 

Проекты Interface Ltd.

 
Interface.ru   ITShop.ru   Interface.ru/training   Olap.ru   ITnews.ru  
 

119334, г. Москва, ул. Бардина, д. 4, корп. 3
+7 (495) 229-0436   shopadmin@itshop.ru
Проверить аттестат
© ООО "Interface Ltd."
Продаем программное обеспечение с 1990 года