Subscribe Twitter

Техноблог УКО

Блог на технические и околотехнические темы, так или иначе связанные с Business Intellegence. Поддерживается командой управления корпоративной отчетности группы компаний "Градиент" (www.gradient.ru)

Маргарет Хэмилтон знает как писать код!


Маргарет Хэмилтон – главный инженер программного обеспечения в НАСА. А рядом программа управления миссией Аполлон, которую она написала.

Во время приземления миссии Аполлон 11 на Луну (1969 год), один из блоков (радар — ненужный для посадки), стал занимать компьютерное время больше чем рассчитывали из–за неправильного позиционирования. Программа управления была достаточно умна, чтобы определить это и отключила низкоприоритетные задачи(обработку данных радара) ради высокоприоритетной задачи посадки модуля на Луну. Фактически, программа управления написанная Маргарет, не просто обнаруживала ошибки и сообщала о них, но и включала в себя модули исправления и восстановления после сбоев. Считается, что без этого миссия Аполлон 11 вряд ли была бы успешной.

Именно ей приписывают появление термина "software engineering" (разработка программного обеспечения). В этой области она разработала и начала использовать: асинхронные вызовы, приоритетное выполнение, полное тестирование, что послужило основой в разработке современного, устойчивого к сбоям программного обеспечения

Process Hacker: клон Process Explorer или еще один инструмент в копилку ?

Нарыл интересное сравнение Process Explorer vs Process Hacker: сравнение
В итоге пересел на Process Hacker (http://processhacker.sourceforge.net/).
И пока не пожалел :)


Восстановление MSDB с другого сервера

Восстановление системной бд MSDB с одного сервера на другой упрощает процесс перехода на новый сервер, тем что, например, все задания службы агента  SQL Server переносятся автоматом. Админам остается  только в шагах заданий подкорректировать источники данных, название нового сервера, и тд. Но при таком переходе есть и подводные камни J

Синхронизация групп в разных доменах при помощи Quest AD CMDlets


Доступ к отчетам открывается через доменные группы, и админам DBA постоянно приходится работать и в Active Directory – создавать\удалять группы, добавлять\удалять пользователей из этих групп и тд.  Для работы в AD есть специальные командлеты Quest AD CMDlets, http://wiki.powergui.org/index.php/QAD_cmdlets_reference, дополнения к PowerShell, которые находятся в свободном доступе http://www.quest.com/powershell/activeroles-server.aspx.

Прикольные настройки SSMS


Ни разу не знал, что тут есть «Registered servers»… может оно и к лучшему было J

Перенос логинов SQLServer с одного сервера на другой


Перенос инстансов  SQLServer с одного сервера на другой – иногда это ежедневная работа админов DBA  И многое  в этом процессе хочется упростить и автоматизировать, например перенос логинов.

Настройка Performance Data Collector для мониторинга тяжелых запросов (MS SQL Server 2008)

Для мониторинга производительности  SQL Server одним из полезных
инструментов является Data Collector , который был введен начиная с 2008
версии. Data Collector позволяет собирать разного рода информацию о производительности системы из разных источников в единое хранилище данных. Такими источниками могут быть SQLTrace, счетчики Performance Monitor  и т.д. Например, можно ловить долго выполнявшиеся  запросы при помощи SQLTrace и сохранять эту информацию в БД.  Далее для анализа  и наглядного представления можно строить различные отчеты, например в Reporting Serviсes:

Could not load package "" because of error 0xC0014062. The LoadFromSQLServer method has encountered OLE DB error code 0x80004005 (Login timeout expired).

   Несколько раз встречалась ошибка - валилось задание AGENT  SQL Server с ошибкой ,
при попытке запустить пакет SSIS package из шага задания-
Could not load package "" because of error 0xC0014062. The LoadFromSQLServer method has encountered OLE DB error code 0x80004005 (Login timeout expired).

   На форуме Microsoft в таких случаях советуют запускать пакет несколько раз, ну чтож... будем знать :)


In my case the solution is to configure a Retry when the job fails :
-Job\Properties\Steps\select Step\Edit\Advanced
-Retry Attempt = 4 (for example)
-Retry Interval (minutes) = 11 (for example)