(Возврат на основную страницу)

 

Содержание номера за Сентябрь 2014 год

SQL Server

Сентябрь 2014 09 (51)

 

  1. Восстановление базы данных Master SQL Server даже без резервной копии
    Джон Гровер (John Grover)

  2. Генерация скрипта для удаления и создания внешних ключей
    Викас Кумар Патак (Vikas Kumar Pathak)

  3. Извлечение информации из графа неразрешимой блокировки, полученного средствами расширенных событий
    Марсело Фонсека (Marcelo Fonseca)

  4. Форматирование дат
    Дуг Дене (Doug Deneau)

  5. Отображение цветом чрезмерного числа виртуальных файлов журнала транзакций и настроек автоприроста в среде Excel с помощью PowerShell
    Роб Сювелл (Rob Sewell)


Восстановление базы данных Master SQL Server даже без резервной копии
Джон Гровер (John Grover)


Задача


При подготовке этой статьи я был удивлен числом администраторов БД, которые создают резервные копии баз данных пользователей, но не копируют свои системные базы данных (http://www.mssqltips.com/sqlservertip/1420/sql-server-system-databases/). Они либо не вполне понимают важность этих баз данных, либо их успокоили годы беспроблемного существования. Какой бы ни была возможная причина, я намерен показать, как спасти самого себя (главным образом), доведись вам обнаружить, что нет у вас ни жизнеспособной базы данных master, ни хорошей резервной копии.
 


Генерация скрипта для удаления и создания внешних ключей
Викас Кумар Патак (Vikas Kumar Pathak)


Иногда нам нужно удалить и заново создать таблицу в среде разработки. Если таблица имеет множественные связи, это оказывается сложной задачей. Я предлагаю скрипт, который создает код удаления и создания внешних ссылок для указанной таблицы (для работы вам необходимо указать имя таблицы и ее схему).
В качестве входных параметров вы можете передать родительскую таблицу и получить все ссылки на нее или дочернюю и получить все ссылки от таблиц с которыми она связана.
 


Извлечение информации из графа неразрешимой блокировки, полученного средствами расширенных событий
Марсело Фонсека (Marcelo Fonseca)


Всем привет.
Это моя первая статья на тему SQL Server
Недавно я занимался изучением расширенных событий и написал предлагаемый код, чтобы облегчить работу по распознаванию неразрешимых блокировок (deadlock), полученных средствами стандартной сессии system_health.
Все что нужно сделать - это запустить скрипт, который вызовет неразрешимую блокировку, после чего стартовать мой код, указав дополнительную фильтрацию по дате (если это необходимо). Мой код работает на SQL Server 2008+ и старше. Прежде чем новое событие попадет в выходной поток, может пройти несколько секунд.
Если имя объекта или индекса не показаны, вы можете использовать значение hobt_id для получения имени из представления sys.partitions (то же самое и для столбца определенного объекта hobt id).
 


Форматирование дат
Дуг Дене (Doug Deneau)


Обычно, код такого типа размещается в БД Master, чтобы он был доступен из любой пользовательской базы данных. Вы можете также привязать исполнение приложенного кода к горячей клавише (конфигурируется через настройки Options в Management Studio. (Ищите в меню Tools...Options, Environment...Keyboard...Query Shortcuts) Затем просто нажимаете на <CTRL><KEY> и код срабатывает.
 


Отображение цветом чрезмерного числа виртуальных файлов журнала транзакций и настроек автоприроста в среде Excel с помощью PowerShell
Роб Сювелл (Rob Sewell)


Предположим, что вам нужно выделить те базы данных, у которых обнаружилось большое число виртуальных журналов в файле журнала транзакций и те, у которых имеется определенная комбинация настроек начального размера файлов данных и авто прироста.
Я предлагаю код на PowerShell, который отобразит необходимую информацию в Excel и выделит нужные ячейки цветом.


(Возврат на основную страницу)