Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
 Бэкап MS SQL Server 2008 R2  [new]
akaipbay
Member

Откуда:
Сообщений: 109
Извиняюсь за глупый вопрос. А можно ли бэкапить базу в MS SQL когда пользователи работают в ней?
26 окт 15, 07:59    [18325035]     Ответить | Цитировать Сообщить модератору
 Re: Бэкап MS SQL Server 2008 R2  [new]
aleks2
Guest
Дозволяю. Т.е. можно.
26 окт 15, 08:22    [18325064]     Ответить | Цитировать Сообщить модератору
 Re: Бэкап MS SQL Server 2008 R2  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4173
akaipbay
Извиняюсь за глупый вопрос. А можно ли бэкапить базу в MS SQL когда пользователи работают в ней?

Можно.
Только имейте в виду, что в конце бекапа, сервер дописывает все изменения, которые внесены в базу с начала запуска бекапа.
Таким образом, если активность пользователей по изменению данных велика, то есть вероятность его никогда не завершить.
"Ахиллес и черепаха" - наиболее демонстративный привет тому.
26 окт 15, 10:35    [18325673]     Ответить | Цитировать Сообщить модератору
 Re: Бэкап MS SQL Server 2008 R2  [new]
o-o
Guest
SQL2008
Только имейте в виду, что в конце бекапа, сервер дописывает все изменения, которые внесены в базу с начала запуска бекапа.
Таким образом, если активность пользователей по изменению данных велика, то есть вероятность его никогда не завершить.
"Ахиллес и черепаха" - наиболее демонстративный привет тому.

что же хрень, простите.
даже у нас, при мега-идиотическом расписании бэкапа,
когда полный бэкап пашет над двухтерабайтной базой, к-ая всю ночь перезаливается с нуля,
бэкап успешно завершается за 4 часа.
а уж пишущая активность -- "больше некуда".
26 окт 15, 11:31    [18326000]     Ответить | Цитировать Сообщить модератору
 Re: Бэкап MS SQL Server 2008 R2  [new]
Pavel1211
Member

Откуда: Екатеринбург
Сообщений: 202
SQL2008,

Вы хоть раз сталкивались с таким?
26 окт 15, 15:23    [18327814]     Ответить | Цитировать Сообщить модератору
 Re: Бэкап MS SQL Server 2008 R2  [new]
gang
Member

Откуда:
Сообщений: 1394
SQL2008
+
Только имейте в виду, что в конце бекапа, сервер дописывает все изменения, которые внесены в базу с начала запуска бекапа.

Таким образом, если активность пользователей по изменению данных велика, то есть вероятность его никогда не завершить.
"Ахиллес и черепаха" - наиболее демонстративный привет тому.

Типа так?
+
Картинка с другого сайта.

Хотя тут скорее PostgreSQL
26 окт 15, 15:28    [18327854]     Ответить | Цитировать Сообщить модератору
 Re: Бэкап MS SQL Server 2008 R2  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4173
Pavel1211
SQL2008,

Вы хоть раз сталкивались с таким?

Нет.
Чтобы бекап не смог завершиться из-за постоянного внесения изменений - нет.
Но вообще вопрос интересный. Нужно будет попробовать.
Сделать в бесконечном цикле UPDATE случайным значением какого-нибудь поля таблицы и запустить бекап.
26 окт 15, 16:38    [18328424]     Ответить | Цитировать Сообщить модератору
 Re: Бэкап MS SQL Server 2008 R2  [new]
o-o
Guest
SQL2008,

о боже,
да всегда бэкап завершится.

вот статьи для осознания процесса бэкапа:
Debunking a couple of myths around full database backups (1)
More on how much transaction log a full backup includes (2)
A SQL Server DBA myth a day: (30/30) backup myths (3)

начало записываемой части лога:
Randal (1)
The start LSN of the log included in a database backup is the minimum of:
LSN of the last checkpoint
LSN of the start of the oldest active transaction
LSN of the last replicated transaction
конец:
Randal (2)
the LSN at which the data read portion ends.

и вот это вот the LSN at which the data read portion ends есть вполне конкретная величина.
он же не пишет данные на диск *постоянно*,
а сбрасывает по чекпойнту,
в бэкап же данные берет с диска, не из buffer pool
Randal (3)
myth: backups read data through the buffer pool
No.
The backup subsystem opens its own channels to the database files to avoid the performance hit
of having to read everything into SQL Server's memory and back out to the backup device

так что чтение он закончит, как только закончит,
и не полезет в buffer pool проверять, чего там еще наизменяли.
и не полезет заново на диске перечитывать,
что перезаписали там, где он уже прочел:
Randal (2)
...
2. The read operation reads page X
3. Transaction A starts
4. Transaction A makes a change to page X. The copy in the backup is now out-of-date.
Note that the backup will not read page X again – it's already passed that point in the database.
...

он для того и дописывает в полный бэкап кусок лога,
чтобы потом разобраться с теми страницами,
что он захватил, а транзакция на момент окончания не завершилась,
или наоборот, он захватил, а что-то в течение бэкапа туда позаписало
(что именно и какой транзакцией позаписало будет в дописываемом куске лога отражено)
26 окт 15, 17:11    [18328756]     Ответить | Цитировать Сообщить модератору
 Re: Бэкап MS SQL Server 2008 R2  [new]
o-o
Guest
ну и еще раз:
у нас запускается сперва минимум 10-тичасовой перелив данных;
во время заливки начинается полный бэкап (верх безумия, но вот так вот)
он завершается через 4 часа, а заливка все продолжается.
причем бэкап на заливку какает дай бог каждому,
время выполнения каждого из SELECT INTO увеличивается раз в 5,
все, что могло быть MINIMALLY LOGGED, становится FULLY LOGGED.
а вот заливка бэкапу не так уж и много добавляет,
что ему гигабайты, когда он 2 терабайта бэкапит.
а времени на рестор добавит, конечно
26 окт 15, 17:17    [18328804]     Ответить | Цитировать Сообщить модератору
 Re: Бэкап MS SQL Server 2008 R2  [new]
akaipbay
Member

Откуда:
Сообщений: 109
o-o,

Так можно или нельзя бэкапить базу при рабочих сеансах? Просто на ней стоит 1ЭС, и работает много пользователей, а если средствами 1с делать, то нужно выгонять всех пользователей. Неудобно.
27 окт 15, 08:06    [18330800]     Ответить | Цитировать Сообщить модератору
 Re: Бэкап MS SQL Server 2008 R2  [new]
o-o
Guest
akaipbay,

Конечно можно.
Просто лучше это делать, когда в базу меньше пишут.
27 окт 15, 08:16    [18330812]     Ответить | Цитировать Сообщить модератору
 Re: Бэкап MS SQL Server 2008 R2  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4173
o-o
SQL2008,

да всегда бэкап завершится.


Вчера поставил опыт.
Вы правы, я ошибался.
27 окт 15, 09:34    [18331034]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Бэкап MS SQL Server 2008 R2  [new]
V_e_g_a
Member

Откуда:
Сообщений: 41
Какая-то непонятная ситуация у меня. Помогите пожалуйста разобраться.
Каждый вечер делается бекап базы таким вот заданием:

BACKUP DATABASE [SED] TO [SED_4] WITH INIT , NOUNLOAD , NAME = N'SED backup', NOSKIP , STATS = 10, NOFORMAT

Задание отрабатывает примерно за 20-30 минут. Размер базы 150 гигабайт. Задание перезаписывает существующий файл.

Если я переименовываю файл бекапа, то есть задание его уже не перезаписывает, а создает новый, то бекап выполняется гораздо дольше. Например 1 час 40 минут.

В данный момент я опять запустил выполнение бекапа, прошло уже 1 час 40 минут, а выполнилось только 35 процентов.

Вчера вечером надо было переезжать на другой сервер. Я рассчитывал по времени на 20-30 минут, а в итоге бекап не сделался и за два с половиной часа.

Так я вот понять не могу. Неужели когда бекап пишется поверх, он только изменения дописывает? Или за счет чего получается быстрее?
9 июн 17, 15:21    [20553465]     Ответить | Цитировать Сообщить модератору
 Re: Бэкап MS SQL Server 2008 R2  [new]
AlanDenton
Member [скрыт]

Откуда:
Сообщений: 1004
Попробуйте все таки использовать сжатие бекапа (если позволяет редакция). Т.е. просто дописать COMPRESSION к Вашему скрипту
9 июн 17, 15:34    [20553516]     Ответить | Цитировать Сообщить модератору
 Re: Бэкап MS SQL Server 2008 R2  [new]
o-o
Guest
ожидания посмотрите у своего бэкапа,
sys.dm_os_waiting_tasks в помощь
9 июн 17, 15:41    [20553539]     Ответить | Цитировать Сообщить модератору
 Re: Бэкап MS SQL Server 2008 R2  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31328
V_e_g_a
Задание отрабатывает примерно за 20-30 минут. Размер базы 150 гигабайт. Задание перезаписывает существующий файл.

Если я переименовываю файл бекапа, то есть задание его уже не перезаписывает, а создает новый, то бекап выполняется гораздо дольше. Например 1 час 40 минут.
Удивительно, никогда не сталкивался. Прямо на тот же диск, и медленнее?

V_e_g_a
Так я вот понять не могу. Неужели когда бекап пишется поверх, он только изменения дописывает? Или за счет чего получается быстрее?
Нет, поведение абсолютно одинаковое.
Может, на диске места кирдык, и если пишется новый файл, то он заполняет разрозненные оставшиеся фрагментики?
Или может у вас диск на виртуалке, и он расширяется при добавлении нового файла бакапа?
AlanDenton
Попробуйте все таки использовать сжатие бекапа (если позволяет редакция). Т.е. просто дописать COMPRESSION к Вашему скрипту
Это да, если на сервере нет установки компрессить бакап, то нужно дописать параметр.
9 июн 17, 15:41    [20553540]     Ответить | Цитировать Сообщить модератору
 Re: Бэкап MS SQL Server 2008 R2  [new]
V_e_g_a
Member

Откуда:
Сообщений: 41
AlanDenton
Попробуйте все таки использовать сжатие бекапа (если позволяет редакция). Т.е. просто дописать COMPRESSION к Вашему скрипту


Так?

BACKUP DATABASE [SED] TO [SED_4] WITH INIT , NOUNLOAD , NAME = N'SED backup', NOSKIP , STATS = 10, NOFORMAT, COMPRESSION

o-o
ожидания посмотрите у своего бэкапа,
sys.dm_os_waiting_tasks в помощь


Посмотрел как описано по ссылке https://habrahabr.ru/post/216309/

Получается бекап и не делается, а просто ждет своей очереди на выполнение.

alexeyvg
Удивительно, никогда не сталкивался. Прямо на тот же диск, и медленнее?

Да, на тот же и медленнее.

alexeyvg
Может, на диске места кирдык, и если пишется новый файл, то он заполняет разрозненные оставшиеся фрагментики?
Или может у вас диск на виртуалке, и он расширяется при добавлении нового файла бакапа?


На диске места было более 500 гиг свободно. диск на виртуалке, но не динамический.

К сообщению приложен файл. Размер - 135Kb
9 июн 17, 16:49    [20553771]     Ответить | Цитировать Сообщить модератору
 Re: Бэкап MS SQL Server 2008 R2  [new]
o-o
Guest
не sys.dm_os_wait_stats, а sys.dm_os_waiting_tasks.
буквы немного разные.
та ваша супер-картинка на весь экран не нужна,
а вот на нижней видно, что диск ждет.
ну и не надо так уж категорично, "не выполняется".
то ваш селект выполняется, то бэкап
9 июн 17, 17:17    [20553859]     Ответить | Цитировать Сообщить модератору
 Re: Бэкап MS SQL Server 2008 R2  [new]
o-o
Guest
off:
а на хабрахабре так принято что ли, перевести чужое,
но как бы автор в самом заде статьи?
т.е. читаешь типа статью Бородина,
но как бы текст-то до боли знакомый, и автор его Рэндал.

в самом конце все же Рэндал упомянут, и на том спасибо.
но мне все еще непонятно,
вот читаешь книгу того же Бен-Гана в переводе,
и все равно автор Бен-Ган, а не переводчик.
нет, переводчик тоже указан, но не на обложке книги.
ибо да, работу он проделал, но автор книги(статьи) все же не он,
и именно автор достоин быть упомянут рядом с заголовком
9 июн 17, 17:25    [20553895]     Ответить | Цитировать Сообщить модератору
 Re: Бэкап MS SQL Server 2008 R2  [new]
o-o
Guest
*автор достоин быть упомянутЫМ/автор должен быть упомянут рядом с заголовком
9 июн 17, 17:28    [20553906]     Ответить | Цитировать Сообщить модератору
 Re: Бэкап MS SQL Server 2008 R2  [new]
V_e_g_a
Member

Откуда:
Сообщений: 41
Я нормально буквы рассмотрел.
Просто не знаю как полученную информацию трактовать )

Пока ни разу не застал процесс бекапа в состоянии running.

К сообщению приложен файл. Размер - 130Kb
9 июн 17, 17:30    [20553914]     Ответить | Цитировать Сообщить модератору
 Re: Бэкап MS SQL Server 2008 R2  [new]
o-o
Guest
надо по своему спиду 151 фильтровать.
нехорошо, что бэкап все время suspended.
какой-нибудь Resource Governor не настроен ли?
покажите еще ваше @@version
9 июн 17, 17:37    [20553932]     Ответить | Цитировать Сообщить модератору
 Re: Бэкап MS SQL Server 2008 R2  [new]
o-o
Guest
хотя вон картинкой выше видно,
что большое время ожидания именно ASYNC_IO_COMPLETION.
так что это скорее не его ограничивают,
а просто плохо справляющийся диск
9 июн 17, 17:42    [20553942]     Ответить | Цитировать Сообщить модератору
 Re: Бэкап MS SQL Server 2008 R2  [new]
o-o
Guest
А сколько уже длится бэкап? Чего-то там ожидание почти 12 млн мс, это что, 3 часа уже ждет?
Наверное диск в стадии подыхания,
пока старый файл перезаписываете,
еще в живую часть пишете,
а как новый создаете, там как раз уже померло
9 июн 17, 18:03    [20553995]     Ответить | Цитировать Сообщить модератору
 Re: Бэкап MS SQL Server 2008 R2  [new]
V_e_g_a
Member

Откуда:
Сообщений: 41
Когда уходил с работы бекап еще не завершился и время его выполнения приближалось к 4 часам.
Я бы не стал грешить на диск. Во-первых он не один. Организован 10-й рейд. Сколько винчесетров не помню. Но они чуть больше чем полгода в эксплуатации. Да и делается на них только этот единственный бекап раз в день.
9 июн 17, 22:08    [20554441]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить