Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Топик располагается на нескольких страницах: ←Ctrl назад 1 [2] 3 вперед Ctrl→ все |
Yasha123 Member Откуда: Сообщений: 1955 |
вообще что-то ваши показания расходятся с тем, что в бэкапах. сервер-исходник 2005, хотя и в совместимости 80 (2000). откуда бы ему взять, что исходный сервер 2000? |
12 ноя 19, 18:56 [22014759] Ответить | Цитировать Сообщить модератору |
alexeyvg Member Откуда: Moscow Сообщений: 31783 |
Владислав Колосов, Да там объёмы мизерные, базы по 300 мегабайт. Не терабайт, и даже не гигабайт. |
||||||||
12 ноя 19, 19:07 [22014766] Ответить | Цитировать Сообщить модератору |
alexeyvg Member Откуда: Moscow Сообщений: 31783 |
|
||||
12 ноя 19, 19:10 [22014768] Ответить | Цитировать Сообщить модератору |
Yasha123 Member Откуда: Сообщений: 1955 |
не сходится с вот этим:
бэкапилось на 2005-ом, а не на 2000-ом. и наплевал он на совместимость базы |
||||||||||
12 ноя 19, 19:13 [22014771] Ответить | Цитировать Сообщить модератору |
alexeyvg Member Откуда: Moscow Сообщений: 31783 |
Да, работал много лет на 2005, базы были при этом в режиме совместимости с 2000-м. При этом базы переходили с сервера на сервер (минимум 2 раза), и всё это были 2005-е серверы. А когда то, в 2000-м году (или позже), их создали на 2000-м (и тоже неизвестно сколько раз переносили с одного 2000-го на другой). |
||||||||||
12 ноя 19, 19:26 [22014780] Ответить | Цитировать Сообщить модератору |
alexeyvg Member Откуда: Moscow Сообщений: 31783 |
|
||||
12 ноя 19, 19:27 [22014782] Ответить | Цитировать Сообщить модератору |
Yasha123 Member Откуда: Сообщений: 1955 |
не понимаю, при чем тут история вашей жизни, но бэкапивший сервер был 2005, а ошибка говорит, что 2000. и наплевать, на каком сервере база родилась, важно, каков формат данного бэкапа. те. версия бэкапившего сервера. и это 2005, а не 2000 |
12 ноя 19, 19:35 [22014790] Ответить | Цитировать Сообщить модератору |
alexeyvg Member Откуда: Moscow Сообщений: 31783 |
Делов то, пробовал человек разные бакапы, пытался разобраться... А может, действительно 2005м там и не пахло, был только 2000-й Это же не имеет отношения к проблеме автора. |
||||||||
12 ноя 19, 22:06 [22014850] Ответить | Цитировать Сообщить модератору |
Yasha123 Member Откуда: Сообщений: 1955 |
еще как относится. ТС, у вас базы минимум с двух разных серверов. сделайте restore headeronly и бэкапу "главной базы" тоже. проверьте колонку server name, там будет другой сервер. не знаю, что это означает в вашем случае, но, например, может оказаться, что из одной базы в другую обращаются через linked server |
13 ноя 19, 07:42 [22014952] Ответить | Цитировать Сообщить модератору |
Yasha123 Member Откуда: Сообщений: 1955 |
как же не пахло, если restore headeronly показывает версию базы 611. вам говорю, там минимум 2 сервера, но вы меня упорно не слышите Сообщение было отредактировано: 13 ноя 19, 07:46 |
||
13 ноя 19, 07:45 [22014955] Ответить | Цитировать Сообщить модератору |
alexeyvg Member Откуда: Moscow Сообщений: 31783 |
|
||||
13 ноя 19, 08:37 [22014973] Ответить | Цитировать Сообщить модератору |
alexeyvg Member Откуда: Moscow Сообщений: 31783 |
Скорее, так и есть (хотя всё таки ТС мог для главной базы достать какой то старый бакап, а то делать систему на многих серверах как то совсем усложнение, для таких небольших объёмов) |
||||
13 ноя 19, 08:43 [22014975] Ответить | Цитировать Сообщить модератору |
PsyMisha Member Откуда: другая столица Сообщений: 799 |
Уверен, - сейчас этот админ сидит в темноте и хохочет гомерическим смехом, запрокинув голову :) Ну прикольнулся человек перед уходом, ну потроллил, ну что уж тут такого :) |
||||
13 ноя 19, 08:54 [22014981] Ответить | Цитировать Сообщить модератору |
PavelPN Member Откуда: Сообщений: 15 |
Добрый день. Спасибо большое за помощь, хотя бы представление получили общее о том, как утроено всё. Получилось посмотреть как это на рабочем сервере лежит. Вы оказались полностью правы, под каждую территорию отдельно создана БД и похоже эта DBName на 11 гб выступает как агрегатор сведений и содержит всевозможные представления из всех этих 100 баз. Каким образом они связаны я не знаю. Тут уж просто будем искать специалиста, чтобы всё это поднимал оперативно. А пока я хочу у себя развернуть территориальные базы, хотя бы для локального доступа к ним. Можете подсказать скрипт как их в автоматическом режиме восстановить? При условии, что некоторые номера почему-то пропущены. Т.е. есть m07.bak, а после него m09.bak А то все руками поднимать это трата времени, а его не хватает сейчас крайне. |
14 ноя 19, 10:45 [22015937] Ответить | Цитировать Сообщить модератору |
Yasha123 Member Откуда: Сообщений: 1955 |
были бы там одни представления, была бы база размером в мегабайт. у вас же как раз наоборот, все гигабайты там, а остальные базы - крошки какие-то. так что в этой базе своего добра хватает. |
||||
14 ноя 19, 11:01 [22015963] Ответить | Цитировать Сообщить модератору |
Minamoto Member Откуда: Москва Сообщений: 1162 |
PavelPN, писал я такой скрипт, найти не могу, не сохранил, видимо. 1) включаете xp_cmdshell через sp_configure 2) Читаете список файлов во временную таблицу: declare @files table (ID int IDENTITY, FileName varchar(100)) insert into @files execute xp_cmdshell 'dir c:\ /b' select * from @files Далее в курсоре по каждому файлу: 3) Через динамический SQL формируете команду на restore headeronly, чтобы получить название базы. 4) Аналогично - restore filelistonly, для получения списка файлов для базы. 5) Динамическим SQL генерируете команду на восстановление базы, выполняете. В принципе, все, что нужно. |
14 ноя 19, 11:05 [22015966] Ответить | Цитировать Сообщить модератору |
PavelPN Member Откуда: Сообщений: 15 |
Yasha123, согласен с вами. Учитывая увиденные таблицы и их содержимое, я вообще не понимаю что там хранится. Minamoto, прошу прощения, но мои знания в t-sql ограничиваются пользовательскими селектами. И используемые вами понятия "курсора" и "динамического sql" мне, к сожалению, даже не говорят ни о чем. Если вам не будет напряжно и есть время, могу я попросить вас помочь со скриптом. Понять написанный код я более менее смогу, но написать самому, я думаю у меня займет пару дней. |
14 ноя 19, 11:33 [22016009] Ответить | Цитировать Сообщить модератору |
komrad Member Откуда: Сообщений: 5516 |
включать xp_cmdshell не обязательно то же самое можно получить процедурой xp_dirtree например, exec xp_dirtree 'c:\temp',1,1 |
||||
14 ноя 19, 11:46 [22016031] Ответить | Цитировать Сообщить модератору |
Minamoto Member Откуда: Москва Сообщений: 1162 |
Да, но я помню, что перешел именно на xp_cmdshell для большего удобства - в утилите dir там можно более гибко управлять набором возвращаемых файлов, использовать маски, фильтровать и т.п. |
||||
14 ноя 19, 11:51 [22016036] Ответить | Цитировать Сообщить модератору |
Yasha123 Member Откуда: Сообщений: 1955 |
вот именно. вам проще скидать результаты restore filelistonly в одну таблицу и копипастом сделать скрипт для всех баз. на все про все макс. 10 минут на все 100 баз. у вас же все пути, куда будете складывать файлы баз, одни и те же. остается размножить 1 скрипт 100 раз и позаменять имя базы и имена файлов |
||||
14 ноя 19, 12:11 [22016062] Ответить | Цитировать Сообщить модератору |
PavelPN Member Откуда: Сообщений: 15 |
Yasha123,USE [master]; go RESTORE DATABASE [flnst01] FROM DISK = N'E:\BackUp\m01.bak' WITH FILE = 1, MOVE N'flnst_Data' TO N'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\flnst01.mdf', MOVE N'munst_Log' TO N'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\flnst01_1.ldf', NOUNLOAD, STATS = 5 GO RESTORE DATABASE [flnst02] FROM DISK = N'E:\BackUp\m02.bak' WITH FILE = 1, MOVE N'flnst_Data' TO N'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\flnst02.mdf', MOVE N'munst_Log' TO N'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\flnst02_1.ldf', NOUNLOAD, STATS = 5 GO Таким образом вы имеете в виду? |
14 ноя 19, 12:20 [22016070] Ответить | Цитировать Сообщить модератору |
Yasha123 Member Откуда: Сообщений: 1955 |
PavelPN, у вас снова что-то не то с версиями. если вы на 2017-ый сервер восстанавливаете, почему в путях MSSQL12.MSSQLSERVER? да и не кладите файлы на системный диск, на другой сложите. так-то да, должно быть типа такого: restore database [flnst01] from disk = N'E:\BackUp\m01.bak' with move N'flnst_Data' to N'F:\DATA\flnst01.mdf', move N'munst_Log' to N'F:\DATA\flnst01_log.ldf' |
14 ноя 19, 12:29 [22016086] Ответить | Цитировать Сообщить модератору |
komrad Member Откуда: Сообщений: 5516 |
PavelPN, а какая версия сервера куда базы надо восстановить? покажите select @@version К сообщению приложен файл (get_restorescript_2005.txt - 8Kb) cкачать ![]() Сообщение было отредактировано: 14 ноя 19, 12:31 |
14 ноя 19, 12:29 [22016087] Ответить | Цитировать Сообщить модератору |
Minamoto Member Откуда: Москва Сообщений: 1162 |
PavelPN, типа того... Только я таки не поленился, написал скрипт. Используйте на свой страх и риск :) ЗЫ: Не забудьте правильные директории указать, для отладки замените последний "EXEC sp_executesql @sql" на "PRINT @sql" Если не будет выполняться с ошибкой, что возвращаемый набор данных не соответствует описанному в таблицах @header и @filelist - приведите их описание к тому набору полей, которое возвращается вашими командами.
Сообщение было отредактировано: 14 ноя 19, 12:34 |
|
14 ноя 19, 12:30 [22016089] Ответить | Цитировать Сообщить модератору |
PavelPN Member Откуда: Сообщений: 15 |
Блин, это я дурак. Версию SSMS вместо версии sql server вам назвал. Версия sql server: Microsoft SQL Server 2014 - 12.0.4100.1 (X64) Apr 20 2015 17:29:27 Copyright (c) Microsoft Corporation Developer Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (Hypervisor) |
||||
14 ноя 19, 12:43 [22016105] Ответить | Цитировать Сообщить модератору |
Топик располагается на нескольких страницах: ←Ctrl назад 1 [2] 3 вперед Ctrl→ все |
Все форумы / Microsoft SQL Server | ![]() |