powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / restore
3 сообщений из 3, страница 1 из 1
restore
    #36106839
vera_t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Год назад я обращалась на форум со следующим вопросом:
"Делаю restore базы данных из программы с помощью следующей команды
restore database Taxes22 from disk = '" & partz & "' WITH REPLACE"
но backup базы данных был сделан в другой организации и названия дисков и файлов БД у нас разные поэтому при использовании этой функции выдается ошибка:
"Device activation error. The physical file name 'E:\Data\TaxCont73.mdf' may be incorrect"
как можно из программы определить путь и имя файлов той базы, которую мы восстановливаем?"
Мне были предложены рекомендации:
GO
-- First determine the number and names of the files in the backup.
-- MyNwind_2 is the name of the backup device.
RESTORE FILELISTONLY
FROM MyNwind_2
-- Restore the files for MyNwind2_Test.
RESTORE DATABASE MyNwind2_Test
FROM MyNwind_2
WITH RECOVERY,
MOVE 'MyNwind2_data' TO 'D:\MyData\MyNwind2_Test_data.mdf',
MOVE 'MyNwind2_log' TO 'D:\MyData\MyNwind2_Test_log.ldf'
GO
Тогда я решила свою проблему несколько другим способом:
sSql = "restore database " & baza & " from disk = '" & partz & "' WITH REPLACE, MOVE 'taxesem$Data' TO 'D:\data\" & baza & "_data.mdf', Move 'taxesemlog$' TO 'D:\Data\" & baza & "_log.ldf'"
в течении года эта конструкция работала, но потом те кто высылает нам bukup начали по другому называть файлы базы данных и все по разному и эта конструкция перестала работать.
Скажите пожалуйста, в вашей рекомендации вместо 'MyNwind2_data' и 'MyNwind2_log' я должна указать наименования файлов БД явным образом? Что делать если я их не знаю? у меня есть только файл bukupа на диске например: g:\disk_e\2540_2_2.bk и все. Я не знаю ни наименования базы ни наименования файлов БД. Т. о.:
RESTORE FILELISTONLY
FROM disk 'g:\disk_e\2540_2_2.bk '
RESTORE DATABASE MyNwind2_Test
WITH RECOVERY,
FROM disk 'g:\disk_e\2540_2_2.bk '
Move а дальше как?
...
Рейтинг: 0 / 0
restore
    #36107066
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задайте этот вопрос в форуме по MSSQL.

Jah loves you.
...
Рейтинг: 0 / 0
restore
    #36107663
DB_restore
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
формировать запрос руками
сначала выбрать все файлы из бэкапа и сформировать запрос

примерно так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Dim rsFL As ADO.Recordset
Dim sqlFL as String
Dim sqlRestore As String

sqlFL = "restore filelistonly from MyNwind_2"
rsFL.Open sqlFL

sqlRestyore = "restore database " + NameDB + " FROM MyNwind_2 WIHT RECOVERY "
Do While not rsFL.Eof()
  sqlRestore = sqlRestore + ", MOVE " + rsFL("LogicalName") + " TO " + Укажите путь + ВыдратьИмяфайла
  rdFL.Next
Wend

cmd.execute sqlRestore

надо проверять, но думаю идея понятна
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / restore
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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