powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Восстановление БД из нескольких .bak
25 сообщений из 65, страница 1 из 3
Восстановление БД из нескольких .bak
    #39888129
PavelPN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Имеется резервная копия БД в виде совокупности бекапов:
Имя файла РазмерDBName.bak 11 гбm01.bak 497 мбm02.bak 251 мб... ...m99.bak 331 мб

Вопрос следующий - каким образом восстановить базу целиком?
1) каждый .bak по отдельности восстанавливать
2) или в главной резервной копии (DBName.bak) есть просто ссылки на эти секции и достаточно запустить на восстановление эту главную копию?

И второй вопрос - попробовал восстановить главную копию (DBName.bak) на SQL Server 2017, но выдало ошибку system.data.sqlclient.sqlerrorСоздание резервной копии баз данных производилось на сервере, на котором работала версия 8.00.2055...Но с этим разобрался, нашёл на вашем ресурсе решение. Но смутил тот факт, что при попытке восстановить, например m12.bak, sql такой ошибки версии не выдает и спокойной восстанавливает кусок БД.
...
Рейтинг: 0 / 0
Восстановление БД из нескольких .bak
    #39888132
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PavelPN,

А с чего вы взяли, что это одна бд?
...
Рейтинг: 0 / 0
Восстановление БД из нескольких .bak
    #39888139
PavelPN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Критик, так было заявлено админом, когда он покидал нас. Ну и лежат бекапы в одной папке, хотя это, конечно, такой себе показатель.
...
Рейтинг: 0 / 0
Восстановление БД из нескольких .bak
    #39888142
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PavelPN,

Сначала изучите, что там с помощью RESTORE FILELISTONLY, затем гляньте справку по команде
https://docs.microsoft.com/ru-ru/sql/t-sql/statements/restore-statements-transact-sql?view=sql-server-ver15
...
Рейтинг: 0 / 0
Восстановление БД из нескольких .bak
    #39888150
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PavelPN
Но смутил тот факт, что при попытке восстановить, например m12.bak, sql такой ошибки версии не выдает и спокойной восстанавливает кусок БД.

смущает вот это: "спокойной восстанавливает кусок БД".
чтобы восстановить "кусок", база должна быть весьма специфической структуры (несколько ФГ),
и синтаксис рестора там не сильно стандартный,
скорее вы пишете фигню.
...
Рейтинг: 0 / 0
Восстановление БД из нескольких .bak
    #39888169
PavelPN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Критик,
Запрос
Код: sql
1.
2.
restore filelistonly
from disk='E:\BackUp\DBName.bak'



Результат
LogicalNamePhysicalNameTypeFileGroupNameSizeIsPresentcena_Data d:\Program Files\Microsoft SQL Server\MSSQL\data\cena.mdf D PRIMARY 11418992640 1cena_Log D:\Program Files\Microsoft SQL Server\MSSQL\Data\cena_log.ldf L NULL 2097152000 0

Запрос
Код: sql
1.
2.
restore filelistonly
from disk='E:\BackUp\m85.bak'


Результат
LogicalNamePhysicalNameTypeFileGroupNameSizeIsPresentflnst_Data D:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\flnst85.mdf D PRIMARY 1572864000 1flnst_Log D:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\flnst85_1.ldf L NULL 271450112 1

У них разные логические имена. Наверное, такого не должно быть, если в теории это бекапы одной базы.
...
Рейтинг: 0 / 0
Восстановление БД из нескольких .bak
    #39888172
PavelPN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yasha123, если бы я не пробовал этот вариант, то не отписывал о нем в сообщение. так что никакой "фигни" здесь нет.
...
Рейтинг: 0 / 0
Восстановление БД из нескольких .bak
    #39888173
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У вас бэкапы разных баз. А вы всем вещаете, что это якобы бэкап одной базы.
...
Рейтинг: 0 / 0
Восстановление БД из нескольких .bak
    #39888178
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PavelPN
Yasha123, если бы я не пробовал этот вариант, то не отписывал о нем в сообщение. так что никакой "фигни" здесь нет.

еще какая фигня.
оба представленных бэкапа имеют по одному файлу данных,
так что никакой "кусок" восстановить нельзя.
только целиком
...
Рейтинг: 0 / 0
Восстановление БД из нескольких .bak
    #39888180
PavelPN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приношу извинения, что повёл вас не в ту степь. У нас айтишник ушёл. Кратко обрисовал ситуацию как есть и всё с концами. Нового ещё не нашли.

Спасибо, теперь хотя бы будем в курсе, что DBName.bak и m01.bak - m99.bak это резервные копии разных баз. Но вопрос, тем не менее, остается открытым.
Есть совокупность m01.bak - m99.bak резервных копий (у них по инструкции RESTORE — FILELISTONLY возвращается одно логическое имя). Каким образом их восстановить и собрать в единую БД?
...
Рейтинг: 0 / 0
Восстановление БД из нескольких .bak
    #39888185
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PavelPN

Есть совокупность m01.bak - m99.bak резервных копий (у них по инструкции RESTORE — FILELISTONLY возвращается одно логическое имя). Каким образом их восстановить и собрать в единую БД?

теепрь сделайте restore headeronly
тем, у которых внутри одна и та же база.
и покажите, что там.
...
Рейтинг: 0 / 0
Восстановление БД из нескольких .bak
    #39888187
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PavelPN,

Еще раз. С чего вы решили, что вам надо все эти бэкапы собирать в _одну_ базу?
...
Рейтинг: 0 / 0
Восстановление БД из нескольких .bak
    #39888189
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PavelPN,

у Вас на сервер сейчас сколько баз, можете подсчитать?
...
Рейтинг: 0 / 0
Восстановление БД из нескольких .bak
    #39888195
PavelPN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гавриленко Сергей Алексеевич, я развернул несколько экземпляров этих бекапов. Таблицы в них содержатся одинаковые, но в каждом экземпляре содержатся сведения только по одной территории. Например, в m01 только данные по Москве, в m20 - по Питеру, в m55 - по Новгороду. Ну и я предположил, что вся БД просто разбита по территориям.

Yasha123, сейчас сделаю и выложу.
...
Рейтинг: 0 / 0
Восстановление БД из нескольких .bak
    #39888198
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PavelPN
Гавриленко Сергей Алексеевич, я развернул несколько экземпляров этих бекапов. Таблицы в них содержатся одинаковые, но в каждом экземпляре содержатся сведения только по одной территории. Например, в m01 только данные по Москве, в m20 - по Питеру, в m55 - по Новгороду. Ну и я предположил, что вся БД просто разбита по территориям.
Так и баз несколько?

Скорее всего, в вашей системе база данных состоит из множества баз данных.
А в базе, которая в "DBName.bak", есть вьюха, объединяющая таблицы этих баз.
Ждём headeronly...

В общем, тут самый правильный совет - искать специалиста :-)
...
Рейтинг: 0 / 0
Восстановление БД из нескольких .bak
    #39888199
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гавриленко Сергей Алексеевич
PavelPN,

Еще раз. С чего вы решили, что вам надо все эти бэкапы собирать в _одну_ базу?

не, он не все базы собрался в одну собрать,
хотя и мне так сперва показалось.
он говорит, там, где бэкапы одной и той же базы,
что именно восстанавливать, вот смотрите:
авторЕсть совокупность m01.bak - m99.bak резервных копий (у них по инструкции RESTORE — FILELISTONLY возвращается одно логическое имя ). Каким образом их восстановить и собрать в единую БД?
т.е. там, где несколько бэкапов одной и той же базы, он снова думает, что это ее "куски".

PavelPN : это не куски одной базы, это ее(одной и той же базы: "одно логическое имя" в ваших терминах) бэкапы
на разные моменты времени
...
Рейтинг: 0 / 0
Восстановление БД из нескольких .bak
    #39888207
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123
PavelPN : это не куски одной базы, это ее(одной и той же базы: "одно логическое имя" в ваших терминах) бэкапы
на разные моменты времени
В FILELISTONLY ведь показывается логическое имя файлов.
Одинаковое - потому что эти базы делали копированием базы-заготовки.

Т.е. повторю моё предположение:
Это одна база данных (как юридический термин(, состоящее из множества баз данных (mssql), по одной на регион, а в главной базе есть либо вьюхи, либо ХП, которые работают с этим множеством баз как с одной.

В общем, надо посмотреть headeronly, там будет имя базы, которое было при бакапе.
...
Рейтинг: 0 / 0
Восстановление БД из нескольких .bak
    #39888209
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PavelPN,

у Вас на сервер сейчас сколько баз, можете подсчитать?
...
Рейтинг: 0 / 0
Восстановление БД из нескольких .bak
    #39888211
PavelPN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Запрос:
Код: sql
1.
2.
restore headeronly
from disk='E:\BackUp\m01'


Результат:
BackupName BackupType Position DeviceType UserName ServerName DatabaseName DatabaseVersion DatabaseCreationDate BackupSize FirstLSN LastLSN CheckpointLSN DatabaseBackupLSN BackupStartDate BackupFinishDate UnicodeLocaleId CompatibilityLevelBackupTypeDescriptionflnst01--Full Database Backup 112syadminCA-WEB-05flnst016112011-12-20 16:14:43.00050992998416170000000375000721617000000040500001161700000003750007216170000000294000722019-10-17 13:25:49.0002019-10-17 13:25:52.000104980Database

Запрос
Код: sql
1.
2.
restore headeronly
from disk='E:\BackUp\m12'


Результат
BackupName BackupType Position DeviceType UserName ServerName DatabaseName DatabaseVersion DatabaseCreationDate BackupSize FirstLSN LastLSN CheckpointLSN DatabaseBackupLSN BackupStartDate BackupFinishDate UnicodeLocaleId CompatibilityLevelBackupTypeDescriptionflnst12-Full Database Backup112syadminCA-WEB-05flnst126112011-09-29 13:50:59.00016900864038810000000161000383881000000017700001388100000001610003838810000000123000382019-09-02 14:49:48.0002019-09-02 14:49:49.000104980Database

Запрос
Код: sql
1.
2.
restore headeronly
from disk='E:\BackUp\m24'


Результат
BackupName BackupType Position DeviceType UserName ServerName DatabaseName DatabaseVersion DatabaseCreationDate BackupSize FirstLSN LastLSN CheckpointLSN DatabaseBackupLSN BackupStartDate BackupFinishDate UnicodeLocaleId CompatibilityLevelBackupTypeDescriptionflnst24-Full Database Backup112syadminCA-WEB-05flnst246112011-12-20 16:21:11.00012808243215760000000053000371576000000006900001157600000000530003715760000000030000372019-09-11 12:43:20.0002019-09-11 12:43:22.000104980Database
...
Рейтинг: 0 / 0
Восстановление БД из нескольких .bak
    #39888212
PavelPN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владислав Колосов, пока не могу сказать. У меня доступа к продакшн серверу нет. Я на своей машине этим занимаюсь. Попробую завтра узнать. Я понял о чем вы говорите. Т.е. вполне вероятно, что у нас 100 баз, где 1 база под каждую территорию выделена.
...
Рейтинг: 0 / 0
Восстановление БД из нескольких .bak
    #39888214
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PavelPN, ну так написано же

DatabaseName
flnst01
flnst12
flnst24
...
Рейтинг: 0 / 0
Восстановление БД из нескольких .bak
    #39888216
PavelPN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Блин, жестяк. Походу реально под каждую территорию физически создана одна база. Это нормальная вообще практика?
...
Рейтинг: 0 / 0
Восстановление БД из нескольких .bak
    #39888226
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PavelPN
Блин, жестяк. Походу реально под каждую территорию физически создана одна база. Это нормальная вообще практика?

ну кто ж знает-то.
может, вы каждой территории высылаете ее собственную базу раз в неделю,
тогда нормально.
вы видите все, а они только свое.
а была бы одна база, как от нее получить "кусок" в виде бэкапа?
...
Рейтинг: 0 / 0
Восстановление БД из нескольких .bak
    #39888229
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PavelPN,

это же зависит от разых факторов, в том числе от обслуживания баз. Например, переиндексация выполняется по регионам по расписанию. Или вы захотите перенести базу на выделенный региональный сервер, или каждый регион сильно нагружен запросами. Если это просто коллектор данных, то обычно так не делают.
...
Рейтинг: 0 / 0
Восстановление БД из нескольких .bak
    #39888230
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов
... или каждый регион сильно нагружен запросами.

о да, у каждого региона уж такая загруженность...
каждая базенка мегабайтами исчисляется,
и это бэкапы без компрессии, сервер-то 2005
...
Рейтинг: 0 / 0
25 сообщений из 65, страница 1 из 3
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Восстановление БД из нескольких .bak
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]