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

Имеется резервная копия БД в виде совокупности бекапов:
Имя файла Размер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
12.11.2019, 16:03
    #39888132
Критик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Восстановление БД из нескольких .bak
PavelPN,

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

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

смущает вот это: "спокойной восстанавливает кусок БД".
чтобы восстановить "кусок", база должна быть весьма специфической структуры (несколько ФГ),
и синтаксис рестора там не сильно стандартный,
скорее вы пишете фигню.
...
Рейтинг: 0 / 0
12.11.2019, 16:56
    #39888169
PavelPN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Восстановление БД из нескольких .bak
Критик,
Запрос
Код: 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
12.11.2019, 16:59
    #39888172
PavelPN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Восстановление БД из нескольких .bak
Yasha123, если бы я не пробовал этот вариант, то не отписывал о нем в сообщение. так что никакой "фигни" здесь нет.
...
Рейтинг: 0 / 0
12.11.2019, 17:03
    #39888173
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Восстановление БД из нескольких .bak
У вас бэкапы разных баз. А вы всем вещаете, что это якобы бэкап одной базы.
...
Рейтинг: 0 / 0
12.11.2019, 17:17
    #39888178
Yasha123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Восстановление БД из нескольких .bak
PavelPN
Yasha123, если бы я не пробовал этот вариант, то не отписывал о нем в сообщение. так что никакой "фигни" здесь нет.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

у Вас на сервер сейчас сколько баз, можете подсчитать?
...
Рейтинг: 0 / 0
12.11.2019, 18:08
    #39888211
PavelPN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Восстановление БД из нескольких .bak
Запрос:
Код: 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
12.11.2019, 18:11
    #39888212
PavelPN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Восстановление БД из нескольких .bak
Владислав Колосов, пока не могу сказать. У меня доступа к продакшн серверу нет. Я на своей машине этим занимаюсь. Попробую завтра узнать. Я понял о чем вы говорите. Т.е. вполне вероятно, что у нас 100 баз, где 1 база под каждую территорию выделена.
...
Рейтинг: 0 / 0
12.11.2019, 18:12
    #39888214
msLex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Восстановление БД из нескольких .bak
PavelPN, ну так написано же

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

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

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

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


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