Страницы

среда, 2 октября 2013 г.

Ведение проекта базы данных разработчиков и проекта производственной базы данных в Visual Studio 2012

Проект типа Database Project в Visual Studio вещь очень удобная, но есть один неприятный момент, а именно производственная база данных может отличаться по структуре и прочим атрибутам от базы данных разработчиков. Причем эти отличия, заключаются, не в том, что не все  разработки еще перенесены, а носят принципиальный характер, например пользователи, какие-то таблицы, нужные только для производственной среды и не имеющие отношения к разрабатываемому проекту.
Можно конечно хранить все в одном проекте, и перед очередной публикацией добавлять/убирать комментарии или включать/выключать скрипты из build. Но чуть подумав, я вроде нашел способ лучше и изящнее.
Еще в Visual Studio 2010 существовало такое понятие, как Composite Database Project, попробуем применить данный подход для решения стоящей перед нами задачей, а именно просто унаследуем производственную базу данных от базы данных разработчиков.

Быстрое восстановление SQL сервера после падения БД model

После очередного отключения электричества в офисе (UPS наше все, но он сломался еще два года назад) один из SQL серверов (MS SQL 2008 R2) отказался подниматься, при этом в системном журнале ошибок (Application Events) появлялось следующее сообщение:
Error: 9003, Severity: 20, State: 1.
The log scan number (23:456:1) passed to log scan in database 'model' is not valid. This error may indicate data corruption or that the log file (.ldf) does not match the data file (.mdf). If this error occurred during replication, re-create the publication. Otherwise, restore from backup if the problem results in a failure during startup.


пятница, 13 сентября 2013 г.

четверг, 13 июня 2013 г.

Установка AppFabric Caching Service High Availability cluster

Возникла задача использования High Availability (HA) службы SharedMemory с небольшим временем доступа, после небольшого анализа было принято решение остановиться на Microsoft AppFabric Caching Service. После некоторого количества экспериментов был выработан подход по установке в необходимой конфигурации, который описан ниже.

воскресенье, 9 июня 2013 г.

Enum extension методы для Flag enum

Тип данные enum меняет свое поведение при добавление атрибута [Flags], и позволяет использовать enum в виде битовой маски. Но к сожалению, в стандарте присутствует всего один метод работы c такими enum, а именно HasFlag - производящий проверку установлены или нет соответствующие биты.

суббота, 8 июня 2013 г.

Создание Windows Service Application с ипользование Topshelf

Всем хорошо известно, как создавать Windows Service Application, если нет, то смотрим MSDN. Но отлаживать его функциональность жутко неудобно, да иногда сервис и не нужен, а хочется запустить приложение в консольном виде. Для реализации такой задачи существует замечательный продукт Topshelf.

воскресенье, 2 июня 2013 г.

Использование enum в XAML

К сожалению, WPF, в штатной поставке, имеет ограниченные возможности для работы с enum значениями, т.е. он может просто отобразить имя enum значения. Для решения данной проблемы воспользуемся знаниями о ValueConverter и набором extension методов для enum.