|
Скрипт для восстановления базы данных 1С в SQL | ☑ | ||
---|---|---|---|---|
0
MAPATNK2
naïve
19.06.19
✎
14:42
|
Всем доброго дня, искала искала...и не нашла ничего рабочего.
У меня есть 2 базы. 1 рабочая, другая пустая. Я сделала полный бэк средствами SQL рабочей базы. Теперь хочу с помощью скрипта SQL восстановить (перезаписать) пустую базу данными из бэкапа рабочей базы. Вот только при стандартном REPLACE SQL естественно пытается перезаписать рабочую базу, а не копию (т.к. я не знаю, как перезаписать путь для файлов mdf и ldf) Итоговый вопрос: Может ли кто нибудь поделиться скриптом, для восстновления пустой базы бэкапом рабочей базы с возможностью выбора mdf и ldf. Есть вот такой скрипт ////////// RESTORE DATABASE DB_Clients FROM DISK = 'C:\OldDBClients.bak' WITH REPLACE, WITH MOVE 'YourMDFLogicalName' TO '<MDF file path>', MOVE 'YourLDFLogicalName' TO '<LDF file path>' ///////// проблема в том, что он начинает вместо, указанной мной базы DB_client восстанавливать рабочую базу. Какая то дичь. Почему я не могу восстановить стандартно? потому что криворукие админы не могут решить вопросы вечного зависания SQL при выборе нового местоположения mdf и ldf файлов. Вот и приходится искать другие методы, хочу попрбовать восстановить скриптом. Может кто поделиться? |
|||
1
Джинн
19.06.19
✎
14:44
|
И стандартно можно. Только укажите куда Вы восстанавливать собираетесь. Там только по умолчанию та база стоит, из которой бекап был.
|
|||
2
Джинн
19.06.19
✎
14:45
|
||||
3
MAPATNK2
naïve
19.06.19
✎
14:45
|
(1) Ну нельзя стандартно, я ведь написала, при нажатии на вкладку Файллы (где выбирается путь для mdf и ldf) SQL уходит в вечное зависание.
|
|||
4
MAPATNK2
naïve
19.06.19
✎
14:45
|
(2) Ну я ведь написала в чем проблема.
|
|||
5
sitex
naïve
19.06.19
✎
14:48
|
так пойдет ?
RESTORE DATABASE [%base%] FROM DISK = N'%PATH%' WITH FILE = 1, MOVE '%name_mdf%' TO N'%mdf%', MOVE '%name_log%' TO N'%ldf%', NOUNLOAD, REPLACE , STATS = 10 |
|||
6
MAPATNK2
naïve
19.06.19
✎
14:52
|
(5) мне главное, чтобы этот скрипт не затер рабочую базу, из которой сделан бэкап
|
|||
7
MAPATNK2
naïve
19.06.19
✎
14:53
|
(5) Вы уверены, что он не затрет рабочую базу из бэкапа?
|
|||
8
Джинн
19.06.19
✎
14:55
|
(7) MOVE TO указывает в какие файловые группы восстанавливать.
|
|||
9
sitex
naïve
19.06.19
✎
14:56
|
(7) ответ в (8)
|
|||
10
MAPATNK2
naïve
19.06.19
✎
15:15
|
(5) А можете, для особо одаренных :-) Написать пример, чтобы я в синтаксисе не ошиблась?
|
|||
11
MAPATNK2
naïve
19.06.19
✎
15:18
|
(5) RESTORE DATABASE [Testovaya]
FROM DISK = N'H:\01062019.bak' WITH FILE = 1, MOVE 'Testovaya' TO N'H:\MDF', MOVE 'Testovaya_log' TO N'H:\LOG', NOUNLOAD, REPLACE , STATS = 10 Сообщение 3102, уровень 16, состояние 1, строка 1 При помощи операции RESTORE не удалось выполнить обработку базы данных "Testovaya", так как она используется в этом сеансе. Рекомендуется для выполнения этой операции использовать базу данных master. Сообщение 3013, уровень 16, состояние 1, строка 1 RESTORE DATABASE прервано с ошибкой. |
|||
12
MAPATNK2
naïve
19.06.19
✎
15:20
|
(9) К сожалению ваш скрипт тоже перезаписывает рабочую. Т.к. Если смотреть отладку кода, он начинает перезаписывать MDF И LDF файлы рабочей базы, а не копии, которая указана в скрипте. (Файлы LOG и MDF и путь к новому месту (это то же самое место где они и лежат) я указала верно)
|
|||
13
MAPATNK2
naïve
19.06.19
✎
15:22
|
Может я неверно объяснила.
Мне нужен скрипт, который не перезапишет мне рабочую базу. А перезапишет тестовую базу бэкапом ,сделанным из рабочей базы. Все, указанные скрипты в интернете начинают либо перезписывать базу из которой был сделан бэкап, либо начинают перезаписывать фалй log и mdf базы из которой был сделан бэкап. |
|||
14
sitex
naïve
19.06.19
✎
15:23
|
Что зА ?
MOVE 'Testovaya' TO N'H:\MDF', MOVE 'Testovaya_log' TO N'H:\LOG' |
|||
15
MAPATNK2
naïve
19.06.19
✎
15:23
|
С помощью интерфейса все делается за несколько шагов,
Выбираешь файл бэкапа, изменяешь базу данных на тестовую Заходишь на вкладку файл и выбираешь новое место для файлов log и mdf В свойствах указываешь (перезаписать существующую базу данных). |
|||
16
MAPATNK2
naïve
19.06.19
✎
15:23
|
(14) А как нужно то?
|
|||
17
sitex
naïve
19.06.19
✎
15:24
|
(14) Укажите где у вас лежат mdf и ldf ,полный путь.
|
|||
18
MAPATNK2
naïve
19.06.19
✎
15:24
|
(17) Я указала (14)
|
|||
19
sitex
naïve
19.06.19
✎
15:25
|
(18) где у вас лежит пустая база укажите.
|
|||
20
Йохохо
19.06.19
✎
15:25
|
(18) Имя мдф как задано в файловых группах без расширения
|
|||
21
MAPATNK2
naïve
19.06.19
✎
15:25
|
(20) Testovaya
Testovaya_log |
|||
22
MAPATNK2
naïve
19.06.19
✎
15:27
|
(20) (19) https://yadi.sk/i/tjmJSIXoQDNkug
|
|||
23
sitex
naïve
19.06.19
✎
15:27
|
Пример раз уж не понятно
RESTORE DATABASE [ZUP3TEST] FROM DISK = N'H:\ZUP3\backupZup3.1-19.06.2019\ZUP3_backup_2019_06_19_050005_9840807.bak' WITH FILE = 1, MOVE N'ZUP3' TO N'G:\TESTBAZA\torgv.mdf', MOVE N'ZUP3_log' TO N'G:\TESTBAZA\torgv_log.ldf', NOUNLOAD, REPLACE, STATS = 10 |
|||
24
MAPATNK2
naïve
19.06.19
✎
15:27
|
(23) Я так же сделала
|
|||
25
MAPATNK2
naïve
19.06.19
✎
15:28
|
(23)
RESTORE DATABASE [Testovaya] FROM DISK = N''H:\01062019.bak' WITH FILE = 1, MOVE 'Testovaya' TO N''H:\MDF\Testovaya.mdf', MOVE 'Testovaya_log' TO N''H:\LOG\Testovaya_log.ldf', NOUNLOAD, REPLACE , STATS = 10 |
|||
26
MAPATNK2
naïve
19.06.19
✎
15:28
|
Ошибка та же самая
Сообщение 3102, уровень 16, состояние 1, строка 1 При помощи операции RESTORE не удалось выполнить обработку базы данных "Testovaya", так как она используется в этом сеансе. Рекомендуется для выполнения этой операции использовать базу данных master. Сообщение 3013, уровень 16, состояние 1, строка 1 RESTORE DATABASE прервано с ошибкой. |
|||
27
sitex
naïve
19.06.19
✎
15:28
|
(25) файлы физически существуют?
|
|||
28
MAPATNK2
naïve
19.06.19
✎
15:29
|
И при попытке отладки, он просто начинает перезписывать MDF и LDF которые лежат в
W:\SQL\Temp |
|||
29
MAPATNK2
naïve
19.06.19
✎
15:29
|
(27) конечно.
|
|||
30
sitex
naïve
19.06.19
✎
15:30
|
(29)MOVE 'Testovaya' TO N'H:\MDF',
MOVE 'Testovaya_log' TO N'H:\LOG', у вас что база sql называется как расширения этих файлов ? |
|||
31
Йохохо
19.06.19
✎
15:30
|
ковычков много
натыкайте скрипт мышкой и нажмите кнопку script |
|||
32
MAPATNK2
naïve
19.06.19
✎
15:30
|
||||
33
sitex
naïve
19.06.19
✎
15:31
|
MOVE 'Testovaya' TO N'H:\Testovaya.MDF',
MOVE 'Testovaya_log' TO N'H:\Testovaya.LOG', |
|||
34
MAPATNK2
naïve
19.06.19
✎
15:31
|
(33) Та же ошибка
|
|||
35
Йохохо
19.06.19
✎
15:31
|
(34) а файлы положили туда?
|
|||
36
MAPATNK2
naïve
19.06.19
✎
15:32
|
(33) База так же перезаписывает файлы рабочей базы, а не копии
|
|||
37
Йохохо
19.06.19
✎
15:32
|
сделайте скрипт мышкой в студии
|
|||
38
sitex
naïve
19.06.19
✎
15:32
|
Пробуй
MOVE 'Testovaya' TO N'H:\MDF\Testovaya.MDF', MOVE 'Testovaya_log' TO N'H:\MDF\Testovaya_log.LOG' |
|||
39
sitex
naïve
19.06.19
✎
15:33
|
(32) смысл затирать ? как тогда помочь тебе в слепую ?
|
|||
40
Вафель
19.06.19
✎
15:33
|
||||
41
sitex
naïve
19.06.19
✎
15:33
|
(25) я же написал тут что полный путь до файлов с базой Testovaya.
|
|||
42
MAPATNK2
naïve
19.06.19
✎
15:34
|
(39) Я затираю левые базы
|
|||
43
MAPATNK2
naïve
19.06.19
✎
15:34
|
RESTORE DATABASE [Testovaya]
FROM DISK = 'H:\01062019.bak' WITH FILE = 1, MOVE 'Testovaya' TO N'H:\MDF\Testovaya.MDF', MOVE 'Testovaya_log' TO N'H:\LOG\Testovaya_log.LOG', NOUNLOAD, REPLACE , STATS = 10 Ну та же самая ошибка блин выходит |
|||
44
sitex
naïve
19.06.19
✎
15:36
|
(26) Сеансы , коннекты к базе есть по мимо тебя ?
|
|||
45
MAPATNK2
naïve
19.06.19
✎
15:37
|
(40)
USE master; GO ALTER DATABASE [Testovaya] SET SINGLE_USER WITH ROLLBACK IMMEDIATE; GO RESTORE DATABASE [Testovaya] FROM DISK = N'H:\01062019.bak' WITH FILE = 1, MOVE 'Testovaya' TO N'H:\MDF\Testovaya.MDF', MOVE 'Testovaya_log' TO N'H:\LOG\Testovaya_log.LOG', NOUNLOAD, REPLACE, STATS = 10 GO ALTER DATABASE [Testovaya] SET MULTI_USER WITH ROLLBACK IMMEDIATE; GO Сообщение 1834, уровень 16, состояние 1, строка 2 Файл "W:\DATA\CRM_UPP_2013.mdf" заменить невозможно. Он используется базой данных "CRM_UPP_2013". Сообщение 3156, уровень 16, состояние 4, строка 2 Невозможно восстановить файл "CRM_UPP_2013" в "W:\DATA\CRM_UPP_2013.mdf". Используйте WITH MOVE для определения допустимого местоположения файла. Сообщение 1834, уровень 16, состояние 1, строка 2 Файл "W:\DATA\CRM_UPP_2013_log.ldf" заменить невозможно. Он используется базой данных "CRM_UPP_2013". Сообщение 3156, уровень 16, состояние 4, строка 2 Невозможно восстановить файл "CRM_UPP_2013_log" в "W:\DATA\CRM_UPP_2013_log.ldf". Используйте WITH MOVE для определения допустимого местоположения файла. Сообщение 3119, уровень 16, состояние 1, строка 2 При планировании инструкции RESTORE возникли проблемы. Подробнее см. в предыдущих сообщениях. Сообщение 3013, уровень 16, состояние 1, строка 2 RESTORE DATABASE прервано с ошибкой. |
|||
46
MAPATNK2
naïve
19.06.19
✎
15:37
|
По неизвестной причине скрипты начинают перезаписывать рабочую базу.
|
|||
47
Вафель
19.06.19
✎
15:38
|
(45) так у тебя файлы называются не так.
MOVE 'Testovaya' TO N'H:\MDF\Testovaya.MDF' первое имя должно быть как оно в архиве (ти бишь в рабочей) |
|||
48
Вафель
19.06.19
✎
15:39
|
MOVE 'CRM_UPP_2013' TO N'H:\MDF\Testovaya.MDF'
|
|||
49
sitex
naïve
19.06.19
✎
15:39
|
(47) про скрины не просто так спросил зачем затирать. )
|
|||
50
Вафель
19.06.19
✎
15:40
|
тебе еще повезло что в рабочей никого не было )))
|
|||
51
Вафель
19.06.19
✎
15:40
|
вернее что кто-то был
|
|||
52
MAPATNK2
naïve
19.06.19
✎
15:40
|
(48) Cпасибо. Вопрос решен. Так долго тупила....
Спасибо большое |
|||
53
sitex
naïve
19.06.19
✎
15:41
|
(52) а можно было на (23) сообщении и закончить)
|
|||
54
MAPATNK2
naïve
19.06.19
✎
15:42
|
(53) Откуда мне было знать, что вам нужно имя mdf и ldf не тестовой базы, которую мы восстанавливаем, а рабочей.
|
|||
55
MAPATNK2
naïve
19.06.19
✎
15:43
|
Этого ведь никто не писал. Что нужны mdf и ldf файлы из той базы, из которой был сделан бэкап. А потом для них указать новое место и имя.
|
|||
56
sitex
naïve
19.06.19
✎
15:45
|
(55) в (8) это сказал скромно.
|
|||
57
sitex
naïve
19.06.19
✎
15:45
|
(54) Учить SQL
|
|||
58
Йохохо
19.06.19
✎
15:53
|
(54) это Вы почему то решили что они по одному только бывают
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |