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

Откуда:
Сообщений: 3
Добрый день.
имеется обычная база под mssql server 2008r2.
recovery=simple, создана в 2013м году, картинку приложу, там видно всё про неё.
она работает, с ней всё хорошо. но вот с её бэкапами есть какая-то странность.
например, я хочу для тестов ресторить в новую базу бэкап. там где from device всё понятно. выбрал нужный файл и развернулся.
но когда я выбираю from database и ссылаюсь на рабочий экземпляр базы, я вижу странное. огромное количество старых бэкапсэтов. причём аж с 2011 года. ну, это может быть саму базу в 2013 как-то пересоздавали чтоли, я не участвовал в этом.
Картинка с другого сайта.
так или вот так:
Картинка с другого сайта.
выбрать можно любой, оно ругается, что нет файла, любой свежий файл бэкапа можно переименовать и начинает как ни в чём не бывало разворачиваться.

разумеется разворачивается в текущее состояние, а не "в прошлое". я понимаю, что это совершенно бесполезные бэкапсэты, но прежде чем я их удалю запросом из msdb.dbo.backupset хочу у тех кто лучше меня понимает этот двигатель: из этих сэтов действительно ничего никаким образом выжать нельзя? они раздражают, но если есть хоть какая то вероятность когда-нибудь как-нибудь ими воспользоваться, то пусть лежат, конечно.
22 апр 16, 08:49    [19091498]     Ответить | Цитировать Сообщить модератору
 Re: старые backupset'ы  [new]
AlanDenton
Member [скрыт]

Откуда:
Сообщений: 1004
Удалить инфу о старых бекапах (старше 4 месяцев):

DECLARE @DateBefore DATETIME 
SET @DateBefore = DATEADD(DAY, -120, GETDATE())

EXEC msdb.dbo.sp_delete_backuphistory @oldest_date = @DateBefore

либо удалить информацию обо всех бекапах для конкретной БД:

EXEC msdb.dbo.sp_delete_database_backuphistory @database_name = N'backup_test'
22 апр 16, 08:57    [19091516]     Ответить | Цитировать Сообщить модератору
 Re: старые backupset'ы  [new]
sadink
Member

Откуда:
Сообщений: 3
AlanDenton, спасибо за оперативный ответ. не знал, кстати, про sp_delete_backuphistory
Ну, я вообще много чего не знаю, поэтому и прошу чтобы кто-то мне подтвердил ненужность этих бэкапсэтов.
22 апр 16, 09:12    [19091571]     Ответить | Цитировать Сообщить модератору
 Re: старые backupset'ы  [new]
AlanDenton
Member [скрыт]

Откуда:
Сообщений: 1004
Если у Вас старые бекапы еще существуют, то на Ваше усмотрение:

SELECT b.physical_device_name, s.database_creation_date
FROM msdb.dbo.backupmediafamily b
JOIN msdb.dbo.backupset s ON b.media_set_id = s.media_set_id
WHERE s.[database_name] = 'AdventureWorks2014'
ORDER BY s.database_creation_date

Если их уже давно по этим путям нет, то на кой Вам эти записи :)
22 апр 16, 09:18    [19091592]     Ответить | Цитировать Сообщить модератору
 Re: старые backupset'ы  [new]
sadink
Member

Откуда:
Сообщений: 3
AlanDenton, они не существуют, они делались в один файл в те времена. каждое утро один и тот же файл переписывался. была шальная мысль просто, что в самой базе где-то существуют эти образы, как бы независимо от файла. это конечно же категорически неверно?
22 апр 16, 09:50    [19091755]     Ответить | Цитировать Сообщить модератору
 Re: старые backupset'ы  [new]
AlanDenton
Member [скрыт]

Откуда:
Сообщений: 1004
Зря пишете в один и тот же файл. Хранили хотя бы 7 последних бекапов. Так чтобы было несколько копий. Например у меня хранятся бекапы за последний месяц (по дням). А старые бекапы джобом удаляются.

sadink
была шальная мысль просто, что в самой базе где-то существуют эти образы

Бекапы в таблицах не хранятся. Просто почитайте.
22 апр 16, 09:56    [19091790]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить