Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как перед восстановлением убить все процессы  [new]
leonix
Member

Откуда:
Сообщений: 403
Сообщение 3101, уровень 16, состояние 1, строка 1
Не удалось получить монопольный доступ, так как база данных используется.

Вот при восстановлении выдаёт такую ошибку. Как убить всех перед восстановлением?
30 окт 14, 17:59    [16778948]     Ответить | Цитировать Сообщить модератору
 Re: Как перед восстановлением убить все процессы  [new]
Wlr-l
Member

Откуда:
Сообщений: 522
leonix,

неужели Вам их не жалко, там могут и женщины!
30 окт 14, 18:11    [16778994]     Ответить | Цитировать Сообщить модератору
 Re: Как перед восстановлением убить все процессы  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37068
use база
go
alter database база set single_user with rollback immediate
go
use master
go
restore database ...
go
30 окт 14, 18:11    [16778995]     Ответить | Цитировать Сообщить модератору
 Re: Как перед восстановлением убить все процессы  [new]
Crimean
Member

Откуда:
Сообщений: 13148
а может лучше базку сразу в offline?
30 окт 14, 19:59    [16779357]     Ответить | Цитировать Сообщить модератору
 Re: Как перед восстановлением убить все процессы  [new]
leonix
Member

Откуда:
Сообщений: 403
Спасибо. Беру на вооружение. А я ещё гдето видел вариант с kill. Что это?
30 окт 14, 20:03    [16779368]     Ответить | Цитировать Сообщить модератору
 Re: Как перед восстановлением убить все процессы  [new]
leonix
Member

Откуда:
Сообщений: 403
Crimean
а может лучше базку сразу в offline?


Перевести в оффлайнт, восстановить а потом в онлайн? Можно пример?
30 окт 14, 20:04    [16779370]     Ответить | Цитировать Сообщить модератору
 Re: Как перед восстановлением убить все процессы  [new]
leonix
Member

Откуда:
Сообщений: 403
Wlr-l
leonix,

неужели Вам их не жалко, там могут и женщины!


Неа. Это чиста моя база экспериментальная, но какието процессы шуруют там.
30 окт 14, 20:05    [16779374]     Ответить | Цитировать Сообщить модератору
 Re: Как перед восстановлением убить все процессы  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4804
leonix
Crimean
а может лучше базку сразу в offline?


Перевести в оффлайнт, восстановить а потом в онлайн? Можно пример?


Это гонево. База должна быть в online.

single_user означает, что все остальные идут лесом.

а kill означает, что вы посылаете других лесом, но они из леса могут вернуться (перезапустить запрос).
30 окт 14, 21:37    [16779606]     Ответить | Цитировать Сообщить модератору
 Re: Как перед восстановлением убить все процессы  [new]
leonix
Member

Откуда:
Сообщений: 403
a_voronin
leonix
пропущено...


Перевести в оффлайнт, восстановить а потом в онлайн? Можно пример?


Это гонево. База должна быть в online.

single_user означает, что все остальные идут лесом.

а kill означает, что вы посылаете других лесом, но они из леса могут вернуться (перезапустить запрос).


Спасибо.
30 окт 14, 22:30    [16779823]     Ответить | Цитировать Сообщить модератору
 Re: Как перед восстановлением убить все процессы  [new]
Crimean
Member

Откуда:
Сообщений: 13148
a_voronin,

вообще-то рестор перетирает все наглухо, начиная с файлов
30 окт 14, 22:44    [16779877]     Ответить | Цитировать Сообщить модератору
 Re: Как перед восстановлением убить все процессы  [new]
o-o
Guest
leonix
Crimean
а может лучше базку сразу в offline?

Перевести в оффлайнт, восстановить а потом в онлайн? Можно пример?

use master;
go

alter database db0 set offline with rollback immediate;
go

restore database db0 from disk = 'Z:\_backups\hp\db0\db0_full.bak' with replace;
go
30 окт 14, 22:47    [16779887]     Ответить | Цитировать Сообщить модератору
 Re: Как перед восстановлением убить все процессы  [new]
o-o
Guest
a_voronin
leonix
пропущено...
Перевести в оффлайнт, восстановить а потом в онлайн? Можно пример?

Это гонево. База должна быть в online.

Муля, не нервируй меня!

К сообщению приложен файл. Размер - 591bytes
30 окт 14, 22:49    [16779895]     Ответить | Цитировать Сообщить модератору
 Re: Как перед восстановлением убить все процессы  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37068
a_voronin
leonix
пропущено...


Перевести в оффлайнт, восстановить а потом в онлайн? Можно пример?


Это гонево. База должна быть в online.

single_user означает, что все остальные идут лесом.

а kill означает, что вы посылаете других лесом, но они из леса могут вернуться (перезапустить запрос).
Перед рестором надо убирать контекст собственного коннекта с базы. Чисто теоретически, между use <ДругаяБаза> и restore <НашаБаза> в НашаБаза может влезть другой коннект и рестор обломится. Так что очень даже не гонево.
30 окт 14, 23:36    [16780043]     Ответить | Цитировать Сообщить модератору
 Re: Как перед восстановлением убить все процессы  [new]
SIMPLicity_
Member

Откуда: (((@)))
Сообщений: 8727
С авторестором будьте аккуратнее. Моему знакомому это однажды стоило полдня работы фирмы: джобом красиво обрубились все коннекты и восстановилось состояние с ночной резервной копии.
30 окт 14, 23:41    [16780057]     Ответить | Цитировать Сообщить модератору
 Re: Как перед восстановлением убить все процессы  [new]
Crimean
Member

Откуда:
Сообщений: 13148
а есть еще такой зверек как "асинхронное обновление статистик", ага
вот он доставляет в монопольном режиме базы, еще как
31 окт 14, 00:14    [16780142]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить