Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Ошибка при attach-е базы  [new]
vopi
Member

Откуда:
Сообщений: 2
Упал сервер. SQL 2005 Standart Edition. Удалось вытащить файлы баз (mdf и ldf).

Пытаюсь аттачить базы на другой сервер - Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (Intel X86) Apr 2 2010 15:53:02 Copyright (c) Microsoft Corporation Express Edition with Advanced Services on Windows NT 6.1 <X86> (Build 7601: Service Pack 1)

на одной из баз при попытке аттача

USE [master]
GO
CREATE DATABASE [germes_auto] ON
( FILENAME = N'E:\SQL\xxx.mdf' ),
( FILENAME = N'E:\SQL\xxx_log.LDF' )
FOR ATTACH
GO

получаем вот что

Msg 1813, Level 16, State 2, Line 1
Could not open new database xxx'. CREATE DATABASE is aborted.
Msg 1813, Level 16, State 2, Line 1
Could not open new database 'xxx'. CREATE DATABASE is aborted.
Msg 3456, Level 21, State 1, Line 1
Could not redo log record (60689:4552:63), for transaction ID (0:11386566), on page (1:25568), database 'xxx' (database ID 16). Page: LSN = (60683:494:15), type = 2. Log: OpCode = 2, context 3, PrevPageLSN: (60687:3818:19). Restore from a backup of the database, or repair the database.
Msg 3313, Level 21, State 2, Line 1
During redoing of a logged operation in database 'xxx', an error occurred at log record ID (60689:4552:63). Typically, the specific failure is previously logged as an error in the Windows Event Log service. Restore the database from a full backup, or repair the database.

При с опцией ATTACH_REBUILD_LOG то же самое.

Если подключаю один mdf (в каталоге нет ldf)

EXEC sp_attach_single_file_db @dbname = 'xxx', @physname = N'E:\SQL\xxx.mdf';

то получаю

File activation failure. The physical file name "F:\BASE\SQL\xxx_log.LDF" may be incorrect.
The log cannot be rebuilt because there were open transactions/users when the database was shutdown, no checkpoint occurred to the database, or the database was read-only. This error could occur if the transaction log file was manually deleted or lost due to a hardware or environment failure.
Msg 1813, Level 16, State 2, Line 1
Could not open new database 'xxx'. CREATE DATABASE is aborted.

путь F:\BASE\SQL\ был на старом серваке.

База - 1С. Пока создал пустую базу и восстановил данные из dt средствами 1С, но актуальность данных - 2 недели.

Подскажите как еще можно приаттачить базу?
19 ноя 11, 21:13    [11625818]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при attach-е базы  [new]
Ruiner
Member

Откуда: СПб
Сообщений: 64
vopi,

1. создать новую пустую базу. например [TMP].
2. ALTER DATABASE [TMP] SET OFFLINE WITH ROLLBACK IMMEDIATE;
3. заменить файлы данных базы [TMP] файлами от Вашей БД.
4. создать путь F:\BASE\SQL\
5. ALTER DATABASE [TMP] SET EMERGENCY, SINGLE_USER;
6. DBCC CHECKDB ('TMP', REPAIR_ALLOW_DATA_LOSS);
7. ALTER DATABASE [TMP] SET ONLINE, MULTI_USER;
8. молицца. :)

9. начать делать бэкапы.
19 ноя 11, 23:02    [11626167]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при attach-е базы  [new]
vopi
Member

Откуда:
Сообщений: 2
DBCC CHECKDB ('TMP', REPAIR_ALLOW_DATA_LOSS);

Msg 946, Level 14, State 1, Line 1
Cannot open database 'TMP' version 611. Upgrade the database to the latest version.
20 ноя 11, 00:37    [11626457]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при attach-е базы  [new]
Ruiner
Member

Откуда: СПб
Сообщений: 64
vopi
DBCC CHECKDB ('TMP', REPAIR_ALLOW_DATA_LOSS);

Msg 946, Level 14, State 1, Line 1
Cannot open database 'TMP' version 611. Upgrade the database to the latest version.

да, логично. не может сиквел одновременно и базу чинить и версию поднимать. я проглядел, что у вас версии серверов различаются...
значит придётся делать это на аналоге "SQL 2005 Standart Edition".
20 ноя 11, 01:11    [11626533]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при attach-е базы  [new]
VRafael
Member

Откуда: Москва
Сообщений: 65
В один прекрасный момент упала сервер в филиале, сначала ругался на поврежденный master, а после переустановки не приаттачил рабочую базу - сказал что контрольные суммы страниц не совпадают.. бэкап делался за 2 дня до этого, и данные ночью перед этим синхронизировались с головной БД, но инфу за пол дня работы все-равно сложно восстанавливать вручную.
Ruiner: воспользовался твоим способом восстановления, все заработало! не думал, что так быстро найду решение!
28 июн 12, 12:35    [12787986]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при attach-е базы  [new]
VRafael
Member

Откуда: Москва
Сообщений: 65
Ruiner: Огромное спасибо!
28 июн 12, 12:36    [12787995]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при attach-е базы  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3650
Главное теперь пункт 9 выполнить :)
Ну подумать там о разностных бэкапах, бэкапах логов, кроме полного :)
28 июн 12, 12:40    [12788028]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить