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

Откуда:
Сообщений: 425
Microsoft SQL Server 2012 (SP3) (KB3072779) - 11.0.6020.0 (X64)

При выполнении из джоба резервного копирования транзакций возникает такая ошибка:


Date,Source,Severity,Step ID,Server,Job Name,Step Name,Notifications,Message,Duration,Sql Severity,Sql Message ID,Operator Emailed,Operator Net sent,Operator Paged,Retries Attempted
02/05/2018 08:13:38,Backup.Transaction Backup,Error,,BOSS,Backup.Transaction Backup,,,The job failed. The Job was invoked by User sa. The last step to run was step 1 (Transaction Backup).,00:00:02,0,0,Database Administrator,,,0
02/05/2018 08:13:38,Backup.Transaction Backup,Error,1,BOSS,Backup.Transaction Backup,Transaction Backup,,Executed as user: NT Service\SQLSERVERAGENT. Microsoft (R) SQL Server Execute Package Utility Version 11.0.6020.0 for 64-bit Copyright (C) Microsoft Corporation. All rights reserved. Started: 8:13:38 Progress: 2018-02-05 08:13:39.03 Source: {6748D34C-FFDB-4A94-9E71-61896C54C68A} Executing query "DECLARE @Guid UNIQUEIDENTIFIER EXECUTE msdb..sp...".: 100% complete End Progress Progress: 2018-02-05 08:13:39.05 Source: Maintenance Cleanup Task Executing query "EXECUTE master.dbo.xp_delete_file 0<c/>N'E:\MSSQL_Bac...".: 100% complete End Progress Progress: 2018-02-05 08:13:39.14 Source: Back Up Database Task Executing query "EXECUTE master.dbo.xp_create_subdir N'E:\MSSQL_Bac...".: 100% complete End Progress Error: 2018-02-05 08:13:39.14 Code: 0xC002F210 Source: Back Up Database Task Execute SQL Task Description: Executing the query "BACKUP LOG [silo] TO DISK = N'E:\MSSQL_Backup\sil..." failed with the following error: "BACKUP LOG cannot be performed because there is no current database backup. BACKUP LOG is terminating abnormally.". Possible failure reasons: Problems with the query<c/> "ResultSet" property not set correctly<c/> parameters not set correctly<c/> or connection not established correctly. End Error DTExec: The package execution returned DTSER_FAILURE (1). Started: 8:13:38 Finished: 8:13:39 Elapsed: 0.453 seconds. The package execution failed. The step failed.,00:00:02,0,0,,,,0


Данная ошибка возникает раз в неделю, после реиндексации базы:
ALTER DATABASE silo SET RECOVERY SIMPLE
EXEC sp_MSforeachtable N'DBCC DBREINDEX("?")'
ALTER DATABASE silo SET RECOVERY FULL


Приходится делать полный или разностный бекап, после чего бекап транзакций выполняется уже без ошибок.
В чем проблема?
5 фев 18, 09:25    [21165630]     Ответить | Цитировать Сообщить модератору
 Re: Непонятная ошибка при попытке резервного копирования тразакций  [new]
Добрый Э - Эх
Guest
Slon747,

А что тебя удивляет? Переведя базу в режим simple ты , по сути, сказал серверу "друже, забудь про всё, что было до этого момента. все полные бэкапы с этого момента - куча никому ненужного мусора".
Теперь же, когда ты перевел базу вновь в режим "FULL", ты говоришь, что начинаем всю историю с чистого листа. А первой записью на чистом листе в истории резервного копирования должна быть запись о полном или разностном бэкапе, чтобы было к чему применять твой транзакции из лога. Понимаешь? А полного бэrапа-то и нету... Логично, что после выполнения полного копирования начинает работать копирование журналов...

З.Ы.
и это, если что, определяется и диктуется документацией, как ни странно... :)
5 фев 18, 09:33    [21165643]     Ответить | Цитировать Сообщить модератору
 Re: Непонятная ошибка при попытке резервного копирования тразакций  [new]
Slon747
Member

Откуда:
Сообщений: 425
Добрый Э - Эх
Slon747,

А что тебя удивляет? Переведя базу в режим simple ты , по сути, сказал серверу "друже, забудь про всё, что было до этого момента. все полные бэкапы с этого момента - куча никому ненужного мусора".
Теперь же, когда ты перевел базу вновь в режим "FULL", ты говоришь, что начинаем всю историю с чистого листа. А первой записью на чистом листе в истории резервного копирования должна быть запись о полном или разностном бэкапе, чтобы было к чему применять твой транзакции из лога. Понимаешь? А полного бэrапа-то и нету... Логично, что после выполнения полного копирования начинает работать копирование журналов...

З.Ы.
и это, если что, определяется и диктуется документацией, как ни странно... :)


Да, теперь понял.
Когда настраивал джобы, учитывал это. Потом, меняя последовательность их выполнения, забыл про эту особенность.
Спасибо.

P.S. Правильно ли перед реиндексацией переводить базу в Simple? Вроде как в этой версии MSSQL иначе нельзя?
5 фев 18, 09:49    [21165696]     Ответить | Цитировать Сообщить модератору
 Re: Непонятная ошибка при попытке резервного копирования тразакций  [new]
Добрый Э - Эх
Guest
Slon747
P.S. Правильно ли перед реиндексацией переводить базу в Simple? Вроде как в этой версии MSSQL иначе нельзя?
В какой этой? Ты с online для Enterprise не попутал случайно?

В общем случае, операция перестроения индексов вполне себе успешно отработает, вне зависимости от режима восстановления базы.
Другое дело, что при этом создается дополнительная нагрузка на журнальный файл...
5 фев 18, 09:58    [21165720]     Ответить | Цитировать Сообщить модератору
 Re: Непонятная ошибка при попытке резервного копирования тразакций  [new]
Добрый Э - Эх
Guest
Slon747,

в целом, по перестройке индексов, зачем их все подряд перестраивать? в интернете слишком много скриптов по "интеллектуальному" отбору индексов на перестройку, чтобы не найти их простым поиском. Как показывает практика, далеко не все индексы нуждаются в перестройке... Зачем создавать лишнюю работу серверу? У вас холодно в серверной? Или запас жестких дисков настолько обременителен, что вы решили по быстрее их все затереть до дыр, чтобы хоть как-то расходовать?
5 фев 18, 10:05    [21165738]     Ответить | Цитировать Сообщить модератору
 Re: Непонятная ошибка при попытке резервного копирования тразакций  [new]
Добрый Э - Эх
Guest
Добрый Э - Эх
Slon747
P.S. Правильно ли перед реиндексацией переводить базу в Simple? Вроде как в этой версии MSSQL иначе нельзя?
В какой этой? Ты с online для Enterprise не попутал случайно?

В общем случае, операция перестроения индексов вполне себе успешно отработает, вне зависимости от режима восстановления базы.
Другое дело, что при этом создается дополнительная нагрузка на журнальный файл...
тут имеется ввиду кляуза ONLINE в команде перестроения индекса ALTER INDE ... REBUILD ...
А то мало ли кто и как поймет его... :)
5 фев 18, 10:10    [21165752]     Ответить | Цитировать Сообщить модератору
 Re: Непонятная ошибка при попытке резервного копирования тразакций  [new]
Slon747
Member

Откуда:
Сообщений: 425
Добрый Э - Эх,

Спасибо.
5 фев 18, 10:11    [21165754]     Ответить | Цитировать Сообщить модератору
 Re: Непонятная ошибка при попытке резервного копирования тразакций  [new]
Minamoto
Member

Откуда: Москва
Сообщений: 1162
Slon747
P.S. Правильно ли перед реиндексацией переводить базу в Simple? Вроде как в этой версии MSSQL иначе нельзя?

Вот вам мнение Пола Рэндала:

https://www.sqlskills.com/blogs/paul/sqlskills-sql101-switching-recovery-models/

Он считает, что в SIMPLE базу переводить не надо никогда, в Bulk-logged можно, но осторожно, и осознавая последствия своих действий (последствия он в этой статье и описывает).
5 фев 18, 11:07    [21166022]     Ответить | Цитировать Сообщить модератору
 Re: Непонятная ошибка при попытке резервного копирования тразакций  [new]
aleksrov
Member

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

Я тут в пятницу с сервером работал, там народ вообще жжет, я такой фигни за все время работы админом не видел.
В общем джоб такой, сначала пересчитываем статистику, потом включаем параллелизм (да да, maxdoop стоит 1, хотя на 70% нагрузка OLAP), делаем ребилд (именно ребилд) ВСЕХ индексов, отключаем параллелизм и делаем SHRINK, занавес.
5 фев 18, 11:40    [21166219]     Ответить | Цитировать Сообщить модератору
 Re: Непонятная ошибка при попытке резервного копирования тразакций  [new]
Minamoto
Member

Откуда: Москва
Сообщений: 1162
aleksrov, классический набор антипаттернов. Люди начитались "рекомендаций" по обслуживанию, а смысл их не понимают. Вот как раз серия статей Рэндала SQL101 для таких - чтобы разобраться в подобных ошибках.
5 фев 18, 13:46    [21166742]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить