Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Топик располагается на нескольких страницах: [1] 2 3 вперед Ctrl→ все |
PavelPN Member Откуда: Сообщений: 15 |
Добрый день! Имеется резервная копия БД в виде совокупности бекапов:
Вопрос следующий - каким образом восстановить базу целиком? 1) каждый .bak по отдельности восстанавливать 2) или в главной резервной копии (DBName.bak) есть просто ссылки на эти секции и достаточно запустить на восстановление эту главную копию? И второй вопрос - попробовал восстановить главную копию (DBName.bak) на SQL Server 2017, но выдало ошибку
|
|||||||||||||||
12 ноя 19, 15:58 [22014590] Ответить | Цитировать Сообщить модератору |
Критик Member Откуда: Москва / Калуга Сообщений: 34710 Блог |
PavelPN, А с чего вы взяли, что это одна бд? |
12 ноя 19, 16:03 [22014594] Ответить | Цитировать Сообщить модератору |
PavelPN Member Откуда: Сообщений: 15 |
Критик, так было заявлено админом, когда он покидал нас. Ну и лежат бекапы в одной папке, хотя это, конечно, такой себе показатель. |
12 ноя 19, 16:11 [22014603] Ответить | Цитировать Сообщить модератору |
Критик Member Откуда: Москва / Калуга Сообщений: 34710 Блог |
PavelPN, Сначала изучите, что там с помощью RESTORE FILELISTONLY, затем гляньте справку по команде https://docs.microsoft.com/ru-ru/sql/t-sql/statements/restore-statements-transact-sql?view=sql-server-ver15 |
12 ноя 19, 16:14 [22014608] Ответить | Цитировать Сообщить модератору |
Yasha123 Member Откуда: Сообщений: 1955 |
смущает вот это: "спокойной восстанавливает кусок БД". чтобы восстановить "кусок", база должна быть весьма специфической структуры (несколько ФГ), и синтаксис рестора там не сильно стандартный, скорее вы пишете фигню. |
||||
12 ноя 19, 16:32 [22014619] Ответить | Цитировать Сообщить модератору |
PavelPN Member Откуда: Сообщений: 15 |
Критик, Запрос restore filelistonly from disk='E:\BackUp\DBName.bak' Результат
Запрос restore filelistonly from disk='E:\BackUp\m85.bak' Результат
У них разные логические имена. Наверное, такого не должно быть, если в теории это бекапы одной базы. Сообщение было отредактировано: 12 ноя 19, 17:01 |
||||||||||||||||||||||||||||||||||||||
12 ноя 19, 16:56 [22014640] Ответить | Цитировать Сообщить модератору |
PavelPN Member Откуда: Сообщений: 15 |
Yasha123, если бы я не пробовал этот вариант, то не отписывал о нем в сообщение. так что никакой "фигни" здесь нет. |
12 ноя 19, 16:59 [22014644] Ответить | Цитировать Сообщить модератору |
Гавриленко Сергей Алексеевич Member Откуда: Moscow Сообщений: 37139 |
У вас бэкапы разных баз. А вы всем вещаете, что это якобы бэкап одной базы.
Сообщение было отредактировано: 12 ноя 19, 17:03 |
12 ноя 19, 17:03 [22014646] Ответить | Цитировать Сообщить модератору |
Yasha123 Member Откуда: Сообщений: 1955 |
еще какая фигня. оба представленных бэкапа имеют по одному файлу данных, так что никакой "кусок" восстановить нельзя. только целиком |
||||
12 ноя 19, 17:17 [22014659] Ответить | Цитировать Сообщить модератору |
PavelPN Member Откуда: Сообщений: 15 |
Приношу извинения, что повёл вас не в ту степь. У нас айтишник ушёл. Кратко обрисовал ситуацию как есть и всё с концами. Нового ещё не нашли. Спасибо, теперь хотя бы будем в курсе, что DBName.bak и m01.bak - m99.bak это резервные копии разных баз. Но вопрос, тем не менее, остается открытым. Есть совокупность m01.bak - m99.bak резервных копий (у них по инструкции RESTORE — FILELISTONLY возвращается одно логическое имя). Каким образом их восстановить и собрать в единую БД? |
12 ноя 19, 17:19 [22014662] Ответить | Цитировать Сообщить модератору |
Yasha123 Member Откуда: Сообщений: 1955 |
теепрь сделайте restore headeronly тем, у которых внутри одна и та же база. и покажите, что там. |
||||
12 ноя 19, 17:24 [22014673] Ответить | Цитировать Сообщить модератору |
Гавриленко Сергей Алексеевич Member Откуда: Moscow Сообщений: 37139 |
PavelPN, Еще раз. С чего вы решили, что вам надо все эти бэкапы собирать в _одну_ базу? |
12 ноя 19, 17:26 [22014678] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8301 |
PavelPN, у Вас на сервер сейчас сколько баз, можете подсчитать? |
12 ноя 19, 17:31 [22014685] Ответить | Цитировать Сообщить модератору |
PavelPN Member Откуда: Сообщений: 15 |
Гавриленко Сергей Алексеевич, я развернул несколько экземпляров этих бекапов. Таблицы в них содержатся одинаковые, но в каждом экземпляре содержатся сведения только по одной территории. Например, в m01 только данные по Москве, в m20 - по Питеру, в m55 - по Новгороду. Ну и я предположил, что вся БД просто разбита по территориям. Yasha123, сейчас сделаю и выложу. |
12 ноя 19, 17:38 [22014696] Ответить | Цитировать Сообщить модератору |
alexeyvg Member Откуда: Moscow Сообщений: 31778 |
Скорее всего, в вашей системе база данных состоит из множества баз данных. А в базе, которая в "DBName.bak", есть вьюха, объединяющая таблицы этих баз. Ждём headeronly... В общем, тут самый правильный совет - искать специалиста :-) |
||||
12 ноя 19, 17:42 [22014701] Ответить | Цитировать Сообщить модератору |
Yasha123 Member Откуда: Сообщений: 1955 |
не, он не все базы собрался в одну собрать, хотя и мне так сперва показалось. он говорит, там, где бэкапы одной и той же базы, что именно восстанавливать, вот смотрите:
т.е. там, где несколько бэкапов одной и той же базы, он снова думает, что это ее "куски". PavelPN: это не куски одной базы, это ее(одной и той же базы: "одно логическое имя" в ваших терминах) бэкапы на разные моменты времени |
||||||
12 ноя 19, 17:45 [22014703] Ответить | Цитировать Сообщить модератору |
alexeyvg Member Откуда: Moscow Сообщений: 31778 |
Одинаковое - потому что эти базы делали копированием базы-заготовки. Т.е. повторю моё предположение: Это одна база данных (как юридический термин(, состоящее из множества баз данных (mssql), по одной на регион, а в главной базе есть либо вьюхи, либо ХП, которые работают с этим множеством баз как с одной. В общем, надо посмотреть headeronly, там будет имя базы, которое было при бакапе. |
||||
12 ноя 19, 18:01 [22014720] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8301 |
PavelPN, у Вас на сервер сейчас сколько баз, можете подсчитать? |
12 ноя 19, 18:04 [22014722] Ответить | Цитировать Сообщить модератору |
PavelPN Member Откуда: Сообщений: 15 |
Запрос:restore headeronly from disk='E:\BackUp\m01' Результат:
Запрос restore headeronly from disk='E:\BackUp\m12' Результат
Запрос restore headeronly from disk='E:\BackUp\m24' Результат
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
12 ноя 19, 18:08 [22014727] Ответить | Цитировать Сообщить модератору |
PavelPN Member Откуда: Сообщений: 15 |
Владислав Колосов, пока не могу сказать. У меня доступа к продакшн серверу нет. Я на своей машине этим занимаюсь. Попробую завтра узнать. Я понял о чем вы говорите. Т.е. вполне вероятно, что у нас 100 баз, где 1 база под каждую территорию выделена.
Сообщение было отредактировано: 12 ноя 19, 18:15 |
12 ноя 19, 18:11 [22014729] Ответить | Цитировать Сообщить модератору |
msLex Member Откуда: Сообщений: 8699 |
PavelPN, ну так написано же DatabaseName flnst01 flnst12 flnst24 |
12 ноя 19, 18:12 [22014731] Ответить | Цитировать Сообщить модератору |
PavelPN Member Откуда: Сообщений: 15 |
Блин, жестяк. Походу реально под каждую территорию физически создана одна база. Это нормальная вообще практика? |
12 ноя 19, 18:18 [22014735] Ответить | Цитировать Сообщить модератору |
Yasha123 Member Откуда: Сообщений: 1955 |
ну кто ж знает-то. может, вы каждой территории высылаете ее собственную базу раз в неделю, тогда нормально. вы видите все, а они только свое. а была бы одна база, как от нее получить "кусок" в виде бэкапа? |
||||
12 ноя 19, 18:38 [22014749] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8301 |
PavelPN, это же зависит от разых факторов, в том числе от обслуживания баз. Например, переиндексация выполняется по регионам по расписанию. Или вы захотите перенести базу на выделенный региональный сервер, или каждый регион сильно нагружен запросами. Если это просто коллектор данных, то обычно так не делают. |
12 ноя 19, 18:47 [22014757] Ответить | Цитировать Сообщить модератору |
Yasha123 Member Откуда: Сообщений: 1955 |
о да, у каждого региона уж такая загруженность... каждая базенка мегабайтами исчисляется, и это бэкапы без компрессии, сервер-то 2005 |
||||
12 ноя 19, 18:52 [22014758] Ответить | Цитировать Сообщить модератору |
Топик располагается на нескольких страницах: [1] 2 3 вперед Ctrl→ все |
Все форумы / Microsoft SQL Server | ![]() |