Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
yaxta Member Откуда: азербайджан,баку Сообщений: 518 |
привет ребята я создал новый базу данных и хочу востонавливат данные из бекап скрипт такой use master go restore database new from disk='D:\new.bak' go но получаю ошибку Сообщение 3141, уровень 16, состояние 0, строка 1 The database to be restored was named 'ats342'. Reissue the statement using the WITH REPLACE option to overwrite the 'new' database. Сообщение 3013, уровень 16, состояние 1, строка 1 RESTORE DATABASE is terminating abnormally. |
13 июн 14, 10:20 [16160685] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
И вы ее прочитали ?
Зачем для восстановления создавать новую базу ? |
||||
13 июн 14, 10:21 [16160687] Ответить | Цитировать Сообщить модератору |
yaxta Member Откуда: азербайджан,баку Сообщений: 518 |
Glory, ети данные старые меня нужн создат новый базу данных |
13 июн 14, 10:29 [16160695] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Мда Еще раз вопрос - зачем для команды restore вы предварительно сделали "я создал новый базу данных " ? Сообщение было отредактировано: 13 июн 14, 10:31 |
||
13 июн 14, 10:31 [16160697] Ответить | Цитировать Сообщить модератору |
yaxta Member Откуда: азербайджан,баку Сообщений: 518 |
Glory, да понил но сейцас записаю с with replace use master go restore database new from disk='D:\nsw.bak' with replace go но сейцас записаю with replace тоже получаю ошибку Сообщение 1834, уровень 16, состояние 1, строка 1 The file 'd:\datasql\MSSQL\data\ats342.mdf' cannot be overwritten. It is being used by database 'ats342'. Сообщение 3156, уровень 16, состояние 1, строка 1 File 'ats342' cannot be restored to 'd:\datasql\MSSQL\data\ats342.mdf'. Use WITH MOVE to identify a valid location for the file. Сообщение 1834, уровень 16, состояние 1, строка 1 The file 'd:\datasql\MSSQL\data\ats342_log.ldf' cannot be overwritten. It is being used by database 'ats342'. Сообщение 3156, уровень 16, состояние 1, строка 1 File 'ats342_log' cannot be restored to 'd:\datasql\MSSQL\data\ats342_log.ldf'. Use WITH MOVE to identify a valid location for the file. Сообщение 3013, уровень 16, состояние 1, строка 1 RESTORE DATABASE is terminating abnormally. |
13 июн 14, 10:48 [16160717] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
А вы их читаете ? |
||
13 июн 14, 10:49 [16160720] Ответить | Цитировать Сообщить модератору |
Maxx Member [скрыт] Откуда: Сообщений: 24290 |
пятницо - чо ![]() |
13 июн 14, 10:49 [16160721] Ответить | Цитировать Сообщить модератору |
yaxta Member Откуда: азербайджан,баку Сообщений: 518 |
да новерно надо записат с MOVE но пут бекап а как надо записаь незнаю у меня ест пример такой USE master GO -- First determine the number and names of the files in the backup. -- AdventureWorks2008R2_Backup is the name of the backup device. RESTORE FILELISTONLY FROM AdventureWorks2008R2_Backup -- Restore the files for MyAdvWorks. RESTORE DATABASE MyAdvWorks FROM AdventureWorks2008R2_Backup WITH RECOVERY, MOVE 'AdventureWorks2008R2_Data' TO 'D:\MyData\MyAdvWorks_Data.mdf', MOVE 'AdventureWorks2008R2_Log' TO 'F:\MyLog\MyAdvWorks_Log.ldf' GO |
||||
13 июн 14, 10:55 [16160724] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
И что вам мешает подставить в него имена вашей базы и файлов ? |
||
13 июн 14, 10:56 [16160726] Ответить | Цитировать Сообщить модератору |
yaxta Member Откуда: азербайджан,баку Сообщений: 518 |
Glory, я хочу создат новый базу данных и восстонавливат данные из бекапа другой базу данных |
13 июн 14, 11:05 [16160735] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Это ответ на вопрос - "что вам мешает подставить в пример скрипта имена вашей базы и файлов ?" |
||
13 июн 14, 11:08 [16160738] Ответить | Цитировать Сообщить модератору |
yaxta Member Откуда: азербайджан,баку Сообщений: 518 |
Glory, знаете ест база новый new и база старый который ест бекап который хочу восстановит новый базу данных у создал примерно такой скрипт RESTORE DATABASE [new] FROM DISK = N'D:\nsw.bak' WITH FILE = 1, MOVE N'new' TO N'd:\datasql\MSSQL\data\ats342.mdf', MOVE N'new_log' TO N'd:\datasql\MSSQL\data\ats342.LDF', NOUNLOAD, REPLACE, STATS = 10 но 1----я боюс потерят данные старый базу данных |
13 июн 14, 11:49 [16160795] Ответить | Цитировать Сообщить модератору |
yaxta Member Откуда: азербайджан,баку Сообщений: 518 |
yaxta, новый база данных ето new а старый ats342 |
13 июн 14, 11:50 [16160798] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
разве файлы 'd:\datasql\MSSQL\data\ats342.mdf' и 'd:\datasql\MSSQL\data\ats342.ldf' уже не существуют ? разве они не используются другой базой ? разве об этом не было написано в сообщении об ошибке ? разве в примере скрипта из хелпа не показано, как получить имена файлов, которые есть в бэкапе ? |
||
13 июн 14, 11:53 [16160804] Ответить | Цитировать Сообщить модератору |
yaxta Member Откуда: азербайджан,баку Сообщений: 518 |
я создал временную таблицу чтобы узнат пут mdf и ldf DECLARE @FILELISTONLY nvarchar(100), @QRESTORE nvarchar(300) CREATE TABLE #tFILELISTONLY( LogicalName nvarchar(128), PhysicalName nvarchar(260), Type char(1), FileGroupName nvarchar(128), [Size] numeric(20,0), [MaxSize] numeric(20,0) ) SET @FILELISTONLY = N'RESTORE FILELISTONLY from DISK = N''D:\nsw.bak''' INSERT #tFILELISTONLY EXEC(@FILELISTONLY) select*from #tFILELISTONLY LogicalName PhysicalName Type FileGroupName Size MaxSize -------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---- -------------------------------------------------------------------------------------------------------------------------------- --------------------------------------- --------------------------------------- ats342 d:\datasql\MSSQL\data\ats342.mdf D PRIMARY 180682752 35184372080640 ats342_log d:\datasql\MSSQL\data\ats342_log.ldf L NULL 704905216 35184372080640 (строк обработано: 2)записаю так use master go RESTORE DATABASE [new] FROM DISK = N'D:\nsw.bak' WITH FILE = 1, MOVE N'ats342' TO N'd:\datasql\MSSQL\data\new.mdf', MOVE N'ats342_log ' TO N' d:\datasql\MSSQL\data\new_log.ldf', NOUNLOAD, REPLACE, STATS = 10 go но получаю такую ошибку Сообщение 5105, уровень 16, состояние 2, строка 1 Device activation error. The physical file name ' d:\datasql\MSSQL\data\new_log.ldf' may be incorrect. Сообщение 3156, уровень 16, состояние 1, строка 1 File 'ats342_log' cannot be restored to ' d:\datasql\MSSQL\data\new_log.ldf'. Use WITH MOVE to identify a valid location for the file. Сообщение 3013, уровень 16, состояние 1, строка 1 RESTORE DATABASE is terminating abnormally. |
||||
13 июн 14, 13:13 [16160995] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
И опять ее не читаю Вы думаете, что все лишние пробелы и иные символыв полных именах файлов сервер должен сам убирать ? |
||
13 июн 14, 13:16 [16161000] Ответить | Цитировать Сообщить модератору |
yaxta Member Откуда: азербайджан,баку Сообщений: 518 |
Glory, спасибо вам Glory уже исправил все работает нормално |
13 июн 14, 16:04 [16161396] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |