Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Ёжик25 Member Откуда: оттуда Сообщений: 360 |
Были блокировки -2. Килял килял, сессии, которые она блокировала, они опять возникал - я перезагрузил через Configuration Tools сервис MS SQL. И далее начался полтергейст: база после перезагрузки сначала в нормальном режиме, отзывается на все запросы, открывает древо объектов - потом переходит в саспект, причем запросы на выборку в нее делать можно. А в процессах вообще висит блокировка -3! Информации по ней вообще нет нигде. Что это и как с этим бороться!? |
21 сен 14, 08:08 [16601031] Ответить | Цитировать Сообщить модератору |
aleks2
Guest |
Специально для "ежиков в тумане" 1. Нинада мучит сервер перезагрузками - хуже будет тока тибе. 2. USE [имярек] go ALTER DATA base [имярек] set single_user with rollback immediate; go dbcc checkdb( [имярек], repaire_rebuild ); -- это будет небыстро... 3. Потом расскажи нам чиво там dbcc checkdb скажет. |
21 сен 14, 10:00 [16601100] Ответить | Цитировать Сообщить модератору |
Ёжик25 Member Откуда: оттуда Сообщений: 360 |
aleks2, А вот фигушки)))) Все оказалось гораздо проще. Спасибо коллеге. Подвисла распределенная транзакция у сервис брокера, и из-за нее не подключался лог-файл к базе. База то была на месте, по этому из нее читались и писались данные, а вот с логом была проблема... Решалась проблема удалением подвисшей транзакции. После перезагрузил сервис, что бы подключился лог... Удивительным оказалось то, что про блокировку -3 весь интернет умалчивает! Неужели я первый с таким столкнулся?)) MS SQL 2005 со всеми обновлениями... |
22 сен 14, 00:04 [16602827] Ответить | Цитировать Сообщить модератору |
aleks2
Guest |
Это даже не сказка, а миф какой-то. |
||
22 сен 14, 05:59 [16603103] Ответить | Цитировать Сообщить модератору |
alexeyvg Member Откуда: Moscow Сообщений: 31779 |
Вы хоть почитайте, как пишутся данные в базу. Когда вы делаете INSERT или UPDATE, в файл базы вообще ничего не пишется, вся запись идёт в лог. А потом, в фоновом режиме, данные из файла лога постепенно переносятся в файл базы. Так что это чистые фантазии, что бы сервер работал с файлом данных и без файла лога. |
||
22 сен 14, 08:27 [16603206] Ответить | Цитировать Сообщить модератору |
Mind Member Откуда: Лучший город на Земле Сообщений: 2322 |
|
||
23 сен 14, 03:30 [16607826] Ответить | Цитировать Сообщить модератору |
Exproment Member Откуда: Сообщений: 416 |
Вы имеете ввиду последовательный накат операций из лога на диск в фоновом режиме ? Если не ошибаюсь, данные пишутся в RAM + Log. И в фоновом режиме страницы из RAM перебрасываются в файл данных, а не из лога. |
||
23 сен 14, 11:54 [16609072] Ответить | Цитировать Сообщить модератору |
alexeyvg Member Откуда: Moscow Сообщений: 31779 |
В любом случае окончание транзакции - это физическая запись изменений в лог (на поверхность диска, или, как минимум, в кеш контроллера); пока этого не случится, выполнение дальше не пойдёт, блокировки не снимутся и т.д. |
||
23 сен 14, 12:49 [16609627] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |