Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Новости сайта "Упражнения по SQL" (http://www.sql-ex.ru) 157


Новости сайта "Упражнения по SQL (http://www.sql-ex.ru)" Выпуск 157 (29 сентября 2007 г.)

Новым посетителям сайта

SQL Exercises Сайт посвящен изучению языка, с помощью которого осуществляется взаимодействие с реляционными (и не только) СУБД. Суть обучения состоит в выполнении заданий на написание запросов к учебным базам данных; при этом система контролирует правильность выполнения заданий. В настоящее время реализованы все операторы подъязыка манипуляции данными (DML), которые включают в себя оператор извлечения данных SELECT, а также операторы модификации данных - INSERT, DELETE и UPDATE.

Мы надеемся, что справочного материала сайта окажется достаточно для самостоятельного обучения. Кроме того, свои решения вы можете обсудить на форуме сайта. Опытных же специалистов приглашаем проверить (продемонстрировать) свое мастерство и принять участие в соревновании, обеспечиваемом рейтинговой системой учета времени выполнения заданий. Фактически, рейтинг ведется на втором этапе тестирования, который начинается сейчас после решения 57-ти задач первого этапа. При подсчете рейтинга каждого участника отбрасывается один самый худший показатель среди всех решенных им упражнений.

Демонстрация плана выполнения запроса и сравнительная оценка эффективности решений поможет вам освоить принципы оптимизации запросов, которые пригодятся на третьем рейтинговом этапе, который начинается после 138 задачи.

Имеется возможность получить сертификат по SQL DML при выполнении определенного количества заданий.


Новости сайта

§ Задача от inkerman стала 128-й, а старая 128-я теперь находится под номером 49.

§ VetaleG обнаружил слабое место в проверке задачи 83. Теперь эта задача проверяется на отдельной базе, которую подготовил inkerman. На новых вариантах данных многие решения, опубликованные на форуме, не проходят проверку. Проведите ревизию своих решений :-).
Попутно сделали более однозначной формулировку этой задачи.

§ Дорешав задачи третьего этапа, на 8 строку рейтинга поднялся burakov58 (время на третьем этапе 19.814).
Одна задача до третьего этапа осталась Shadow77 (задач 137, время 12.950).

§ Хочу обратить внимание на продвижение alexsof. Он еще не достиг сотни, но на рубеже 107 задач показывает лучшее время. При этом не обращается помощью.
Судя по блогу, он из Румынии, а значит читает по-английски. Интересно сколько он продержится. Пока выше всех среди "иностранцев" поднимался a2010 - 137 задач.

§ Продвинулись в рейтинге:
Fencer (137, 200.394)
yuriy.rozhok (136, 17.910)
Kamin (129, 55.246)
-=ac=- (127, 45.053)
Олег (125, 9.190)
maar (124, 48.437)
lexaNRJ (123, 73.134)

§ Число подписчиков - 3629

Число участников рейтинга - 11325

Число участников второго этапа - 1078

Сертифицировано на сайте - 187

Лучшие результаты (ТОР 20)

No Person Number of
Sel_ex
Last_Sel Number of
DML_ex
Scores Days Days_2 Days_3 S_3 LastSolved LastVisit
1 Северюхин Ю.А. (Venser) 142 142 21 342 200 4.950 .655 14 19 Sep 2007 28 Sep 2007
2 Тарасов Д.Б. (Gavrila) 142 142 21 342 755 23.423 2.501 14 20 Sep 2007 28 Sep 2007
3 Солдатенков Ю.С. (SolYUtor) 142 142 21 342 490 17.853 2.695 14 20 Sep 2007 28 Sep 2007
4 Шептунов П.П. (Dzen) 141 142 21 340 257 8.132 3.499 14 10 Sep 2007 17 Sep 2007
5 Мурашкин И.В. (lepton) 142 142 21 342 544 15.800 5.539 14 18 Sep 2007 28 Sep 2007
6 Карасёва Н.В. (vlksm) 142 142 21 342 496 31.617 5.912 14 14 Sep 2007 28 Sep 2007
7 Мальцев А.В. (Палкин) 141 142 21 340 388 28.481 7.690 14 09 Sep 2007 28 Sep 2007
8 >Бураков С.Г. (burakov58) 141 141 21 340 972 49.349 19.814 14 28 Sep 2007 28 Sep 2007
9 Голубин Р.С. (Roman S. Golubin) 142 142 21 342 761 59.419 34.203 14 18 Sep 2007 28 Sep 2007
10 Агапов В. (KERBEROS) 135 141 20 326 89 6.143 1.262 11 20 Nov 2006 27 Jul 2007
11 Кувалкин К.С. (Cyrilus) 139 141 20 334 1014 12.506 2.519 11 04 Sep 2007 28 Sep 2007
12 Зверев Д.Л. (dimzv) 135 141 20 326 1141 9.278 4.938 11 19 Dec 2006 22 Dec 2006
13 >Войнов П.Е. (pаparome) 141 128 21 338 765 2.788 .049 10 28 Sep 2007 28 Sep 2007
14 Любченко В.А. (IAS56) 141 142 21 338 377 177.859 20.130 10 16 Sep 2007 28 Sep 2007
15 Васьков Е.В. (Johan) 138 140 21 332 402 12.733 11.402 7 25 Aug 2007 25 Aug 2007
16 Валуев Д.И. (Fiolent) 138 140 21 330 1476 117.100 62.302 4 19 Sep 2007 28 Sep 2007
17 Юлдашев М.Р. (Snowbear) 139 139 21 331 791 4.162 .000 3 17 Sep 2007 28 Sep 2007
18 Утёнков М.Н. (=Maxim=) 137 139 21 328 459 25.165 .036 3 05 Aug 2007 08 Sep 2007
19 Креславский О.М. (Arcan) 139 139 21 331 227 10.109 .315 3 14 Sep 2007 27 Sep 2007
20 Держальцев В.А. (MadVet) 132 139 20 317 540 34.151 3.085 3 08 Oct 2006 19 Oct 2006

Лучшие результаты за неделю

No surname n_sel sel_all sel_scores dml_scores scores rating last_visit
1 >Заворотный А.А. (orpheus) 56 56 107 0 107 1130 28 Sep 2007
2 >Zaremba M.I. (Incidently) 45 45 79 11 90 1625 28 Sep 2007
3 >Луков Д.Р. (Gendalf) 35 49 78 0 78 1489 28 Sep 2007
4 >Егоров В. (Maple) 41 41 78 0 78 1922 28 Sep 2007
5 >Курин Д. (Умклайдет) 42 42 78 0 78 1928 28 Sep 2007
6 Danishevsky B.N. (Staatsanwalt) 24 37 50 27 77 1494 27 Sep 2007
7 Кириченко Г.А. (Гоша) 35 35 66 11 77 1969 27 Sep 2007
8 Мамзиков А.В. (АВМ) 40 40 76 0 76 2011 28 Sep 2007
9 >Филатов И.В. (FilatovIgor) 39 39 73 0 73 2117 28 Sep 2007
10 Замосковный (biezo) 26 59 49 23 72 701 26 Sep 2007
11 >Паршин В.А. (NeoHS) 25 49 55 17 72 1072 28 Sep 2007
12 Сосенко В.Ю. (Vadya) 36 36 68 0 68 2354 28 Sep 2007
13 >chekushin (denis_chekushin) 25 25 40 17 57 2975 27 Sep 2007
14 Гринев (Кровь) 11 48 24 32 56 899 28 Sep 2007
15 Корман Ю.А. (TShamil) 20 27 41 15 56 2610 26 Sep 2007
16 Шашерин И.В. (Urk) 29 29 53 0 53 3333 27 Sep 2007
17 Чернуха М.В. (MishaSQL) 27 27 48 1 49 3601 28 Sep 2007
18 Пищик С. (Thomas) 21 29 43 3 46 3306 28 Sep 2007
19 >ivanova (ivanova1011) 30 30 45 0 45 3940 28 Sep 2007
20 Тимко Д. (Gleb) 19 109 44 0 44 140 27 Sep 2007
21 loki T. (Lokkie) 25 25 41 3 44 4014 27 Sep 2007
22 >Абдулов А. (rinsco) 24 24 39 3 42 4115 28 Sep 2007
23 Тергеусизов А.С. (Tima920) 25 25 42 0 42 4138 27 Sep 2007
24 Санина Е.В. (Аленкас) 12 42 26 15 41 1540 28 Sep 2007

Изучаем SQL

Как выполнить восстановление из журнала транзакций в SQL Server

Greg Robidoux (оригинал: How to restore from a transaction log in SQL Server )
Перевод Моисеенко С.И.

Наличие плана резервного копирования - половина залога успеха в поднятии вашего SQL Server и сохранени его функционирования. Другая половина - это процесс восстановления. Вам необходимо восстановить SQL Server после сбоя (когда Вы должны выполнить восстановление на резервном сервере), или обновления отчетности или среды разработки. Каждый из этих сценариев может потребовать восстановления резервные копий журнала транзакций.

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

Здесь мы подробно рассмотрим, что восстанавливать и как восстанавливать резервные копии журнала транзакций.

Содержание

  • Шаг 1: Резервирование активной части журнала транзакций
  • Шаг 2: Определение того, что необходимо восстановить
  • Шаг 3: Проверка того, что резервные копии имеют корректное содержимое
  • Шаг 4: Узнайте ваши опции восстановления
  • Шаг 5: Используйте преимущества восстановления до определенного момента времени

    Если в случае сбоя Вы должны восстановить данные на другом сервере, Вы должны сначала сделать резервную копию активной части журнала транзакций, чтобы получить оставшиеся транзакции, которые еще не были записаны в существующую резервную копию журнала транзакций. Чтобы создать эту последнюю резервную копию журнала транзакций, используйте что-то подобное следующей команде:

     

    BACKUP LOG Northwind
            TO DISK= 'C:\SQL\Backup\North.bak'
            WITH NO_TRUNCATE
    

     

    Этим создается еще одна резервная копия журнала транзакций, которая затем будет использоваться в вашем восстановительном процессе.

    Следующий шаг должен определить, какие файлы должны быть восстановлены. Надеюсь, что Вы уже знаете, какие резервные копии требуется восстановить. В противном случае Вы можете сделать запрос к таблицам SQL Server в msdb; эти таблицы покажут Вам все резервные копии, сделанные на вашем сервере, включая резервные копии, созданные с помощью Maintenance Plans (Планы Обслуживания), мастера в Enterprise Manager, команд T-SQL и инструментария третьих фирм, который использует встроенные функции SQL Server для создания резервных копий.

    В msdb имеются следующие таблицы:

    · backupfile - Содержит по одной строке на каждый файл данных или файл журнала, для которого создавалась резервная копия
    · backupmediafamily - Содержит по строке на каждое семейство сред
    · backupmediaset - Содержит по строке на каждый набор сред резервного копирования
    · backupset - Содержит по строке на каждый набор резервного копирования

    Если Вы выполняете полное восстановление, то должны начать с Полной Резервной копии (Full Backup) и затем включить дифференциальные, после которых - любые резервные копии журнала транзакций. Данные в этих таблицах показывают сначала самые старые резервные копии, поэтому ищите самую последнюю Полную Резервную копию и любые другие резервные копии, которые были сделаны после Полной Резервной копии.

    (Окончание следует...)

    Полезная информация

    § Все статьи, публикуемые в рассылке, затем выкладываются на сайте Книги и статьи по SQL.

    § В продаже еще имеется книга SQL. Задачи и решения, посвященная анализу ошибок, допускаемых при решении задач первого этапа. На сайте издательства Питер можно сделать заказ и познакомиться с содержанием.

    § Желающих поспособствовать популяризации сайта прошу проголосовать/поставить закладку в социальных сетях:
    del.icio.us
    dzone.com
    Digg.com
    Reddit.com
    stumbleupon.com

    Контакты

    По всем вопросам, связанным с функционированием сайта, проблемами при решении упражнений, идеями вы можете обращаться к Сергею И.Моисеенко msi77@yandex.ru. Вы также можете предложить свои задачи для публикации на сайте.

  • Подписка Subscribe.Ru
    Новости сайта "Упражнения по SQL"

    В избранное