Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Попытка восстановления файла из mdf  [new]
Алексей Кр
Member

Откуда: Белгород
Сообщений: 458
USE [master]
GO
CREATE DATABASE [db_name] ON
( FILENAME = N'C:\MSSQL\Data\db_name.mdf' ),
--( FILENAME = N'C:\db\mssql\db_name_2.ldf' ),--потерян (((
( FILENAME = N'C:\MSSQL\Index\db_name_1.idx' )
FOR ATTACH
GO

Выдается сообщение:
Msg 3415, Level 16, State 3, Line 1
Database 'db_name' cannot be upgraded because it is read-only or has read-only files. Make the database or files writeable, and rerun recovery.
Msg 1813, Level 16, State 2, Line 1
Could not open new database 'fir256'. CREATE DATABASE is aborted.

Что делать? Как поступить? Куда копать?
8 авг 14, 15:39    [16418192]     Ответить | Цитировать Сообщить модератору
 Re: Попытка восстановления файла из mdf  [new]
Glory
Member

Откуда:
Сообщений: 104760
Алексей Кр
Что делать?

Во-первых, зачем вы присоединяете файл на другой версии сервера ?
Во-вторых, почему файлы read-only ?
8 авг 14, 15:43    [16418221]     Ответить | Цитировать Сообщить модератору
 Re: Попытка восстановления файла из mdf  [new]
Алексей Кр
Member

Откуда: Белгород
Сообщений: 458
Версия скула та же!
У файлов в свойствах не стоит галочка только на чтение
На папки дал права для пользователя скула...
куда копать?
8 авг 14, 15:45    [16418236]     Ответить | Цитировать Сообщить модератору
 Re: Попытка восстановления файла из mdf  [new]
Glory
Member

Откуда:
Сообщений: 104760
Алексей Кр
Версия скула та же!

Database 'db_name' cannot be upgraded because
8 авг 14, 15:47    [16418259]     Ответить | Цитировать Сообщить модератору
 Re: Попытка восстановления файла из mdf  [new]
Алексей Кр
Member

Откуда: Белгород
Сообщений: 458
а как от этого избавиться?

it is read-only or has read-only files
8 авг 14, 15:47    [16418267]     Ответить | Цитировать Сообщить модератору
 Re: Попытка восстановления файла из mdf  [new]
Glory
Member

Откуда:
Сообщений: 104760
Алексей Кр
а как от этого избавиться?

it is read-only or has read-only files

Для начала не делать апгрейд
8 авг 14, 15:48    [16418275]     Ответить | Цитировать Сообщить модератору
 Re: Попытка восстановления файла из mdf  [new]
Алексей Кр
Member

Откуда: Белгород
Сообщений: 458
Можно конкретно?
Как делать? Какой скрипт писать?
GLORY ВЫ постоянно ФЛУДИТЕ!!! Толком ответить можете или нет???
Не я делаю апгрейд, а скул делает на выполнение t-sql команды!
8 авг 14, 15:53    [16418333]     Ответить | Цитировать Сообщить модератору
 Re: Попытка восстановления файла из mdf  [new]
Glory
Member

Откуда:
Сообщений: 104760
Алексей Кр
Не я делаю апгрейд,

Ага, сервер сам из вредности делает апгрейд.

Алексей Кр
GLORY ВЫ постоянно ФЛУДИТЕ!!! Толком ответить можете или нет???

Да, не могу. У меня не хватает сил опуститься до вашего уровня.
8 авг 14, 15:56    [16418367]     Ответить | Цитировать Сообщить модератору
 Re: Попытка восстановления файла из mdf  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37051
Алексей Кр
Не я делаю апгрейд, а скул делает на выполнение t-sql команды!
Он это делает, потому что версия сервера больше той, чем у сервера, на котором база была до этого. Об этом вам написали три поста назад.

Алексей Кр
Можно конкретно?
Как делать? Какой скрипт писать?
Отойти от сервера и базы, и найти специалиста, который понимает, что делает. Или хотя бы в состоянии понять, что ему отвечают.
8 авг 14, 15:56    [16418368]     Ответить | Цитировать Сообщить модератору
 Re: Попытка восстановления файла из mdf  [new]
Алексей Кр
Member

Откуда: Белгород
Сообщений: 458
Запустил SQL Server management studio под правами администратора, сообщения исчезли.

Эх, Вы сразу не сказали что нужно было графическую среду запустить под правами администратора.

Но, появились другие сообщения:

File activation failure. The physical file name "C:\db\mssql\db_name_2.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 'db_name'. CREATE DATABASE is aborted.

Что делать с потерянным ldf файлом? Какие могу прописать параметры в запросе? Вы в первом сообщении как раз указал: "--потерян ((("
8 авг 14, 16:00    [16418401]     Ответить | Цитировать Сообщить модератору
 Re: Попытка восстановления файла из mdf  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37051
CREATE DATABASE ...
FOR ATTACH_REBUILD_LOG
8 авг 14, 16:11    [16418483]     Ответить | Цитировать Сообщить модератору
 Re: Попытка восстановления файла из mdf  [new]
Glory
Member

Откуда:
Сообщений: 104760
Алексей Кр
Эх, Вы сразу не сказали что нужно было графическую среду запустить под правами администратора.

А вы всегда сначала пробуете все операции на сервере с минимальными правами ?
Может надо было вообще вас вначале спрашивать, а запустили ли студию, а логин тоже прошли и тд
Прочитать в хелпе про необходимые для операции присоединения права сил не хвиатило ?
8 авг 14, 16:14    [16418510]     Ответить | Цитировать Сообщить модератору
 Re: Попытка восстановления файла из mdf  [new]
Алексей Кр
Member

Откуда: Белгород
Сообщений: 458
Гавриленко Сергей Алексеевич
CREATE DATABASE ...
FOR ATTACH_REBUILD_LOG

если бы помогло...
8 авг 14, 16:25    [16418603]     Ответить | Цитировать Сообщить модератору
 Re: Попытка восстановления файла из mdf  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37051
Алексей Кр
Гавриленко Сергей Алексеевич
CREATE DATABASE ...
FOR ATTACH_REBUILD_LOG

если бы помогло...
Если это не помогает, то восстанавливайте базу из бэкапа. Или стоп. То, что надо делать бэкапы, вам тоже не сказали?

Сообщение было отредактировано: 8 авг 14, 16:27
8 авг 14, 16:25    [16418613]     Ответить | Цитировать Сообщить модератору
 Re: Попытка восстановления файла из mdf  [new]
o-o
Guest
Алексей Кр
Запустил SQL Server management studio под правами администратора, сообщения исчезли.

ТС если не врун, то фантазер.
сообщение не студийное, а серверное.
и что бы это он начал выполнять CREATE DATABASE, если бы прав не было.
специально делаю все то же самое для проверки.
сперва запускаю студию под простым смертным,
соединение по виндовой авторизацией, на сервере товарищ тоже всего лишь овнер одной базы.
получаю серверное:
Msg 262, Level 14, State 1, Line 1
CREATE DATABASE permission denied in database 'master'.

ок, все та же запущенная под бесправным юзером студия, но соединяюсь под скульным логином с контролом на сервер.
аттачит и не пикает.
так что при чем тут, под кем запущена студия?
и что за сообщение про апгрэйд, если нету прав CREATE DATABASE???
лапша, товарищи!!!
8 авг 14, 16:36    [16418690]     Ответить | Цитировать Сообщить модератору
 Re: Попытка восстановления файла из mdf  [new]
Glory
Member

Откуда:
Сообщений: 104760
o-o
ок, все та же запущенная под бесправным юзером студия, но соединяюсь под скульным логином с контролом на сервер.
аттачит и не пикает.
так что при чем тут, под кем запущена студия?

Наверное поэтому

When you are detaching or attaching a database, the Database Engine tries to impersonate the Windows account of the connection performing the operation to guarantee that the account has permission to access the database and log files. For mixed security accounts that use SQL Server logins, the impersonation might fail.
8 авг 14, 16:48    [16418763]     Ответить | Цитировать Сообщить модератору
 Re: Попытка восстановления файла из mdf  [new]
o-o
Guest
как попытаться присоединить базу, к-ая wasn’t cleanly shutdown, описано вот здесь:
Creating, detaching, re-attaching, and fixing a SUSPECT database

начинайте четение со слов So, never detach a suspect database.
вкратце оно вот описано:

The only way to get the database back into SQL Server is to use a hack. I’m going to create a new dummy database with the exact same file layout as the detached database. Then I’m going to set the dummy database offline, swap in the corrupt database files, and bring the database online again. If all goes well, the corrupt database will be attached again.

а в блоге пошагово.
если прокатит, получите приаттаченную неконсистентную базу,
из к-ой неизвестно что, и получится ли вообще выгрести хоть что-то
8 авг 14, 16:48    [16418764]     Ответить | Цитировать Сообщить модератору
 Re: Попытка восстановления файла из mdf  [new]
o-o
Guest
Glory,
у меня получилось зайти под скульным логином, а студия запущена из-под mary с правами типа guest.
картинку показать?
студия в диалоге соединения, пока не переставишь тип авторизации, показывает ту самую mary
или это намек, что мне просто повезло?

да хоть бы 100 раз повезло, ну как можно получить ошибку о невозможности апгрэйда,
если у тебя нету прав CREATE DATABASE???
8 авг 14, 16:53    [16418799]     Ответить | Цитировать Сообщить модератору
 Re: Попытка восстановления файла из mdf  [new]
Glory
Member

Откуда:
Сообщений: 104760
o-o
у меня получилось зайти под скульным логином, а студия запущена из-под mary с правами типа guest.
картинку показать?

BOL - Securing Data and Log Files
8 авг 14, 16:58    [16418829]     Ответить | Цитировать Сообщить модератору
 Re: Попытка восстановления файла из mdf  [new]
Glory
Member

Откуда:
Сообщений: 104760
o-o
да хоть бы 100 раз повезло, ну как можно получить ошибку о невозможности апгрэйда,
если у тебя нету прав CREATE DATABASE???

А кто говорил про отсутствие прав на CREATE DATABASE? Говорили про разные логины, ане про логин вообще без прав
Разве прав CREATE DATABASE достаточно для присоединения базы ?
8 авг 14, 17:00    [16418849]     Ответить | Цитировать Сообщить модератору
 Re: Попытка восстановления файла из mdf  [new]
o-o
Guest
Glory
o-o
да хоть бы 100 раз повезло, ну как можно получить ошибку о невозможности апгрэйда,
если у тебя нету прав CREATE DATABASE???

А кто говорил про отсутствие прав на CREATE DATABASE? Говорили про разные логины, ане про логин вообще без прав
Разве прав CREATE DATABASE достаточно для присоединения базы ?


прежде чем проверять права на файлы, проверяется наличие CREATE DATABASE.
ибо сперва mary получила ошибку:
Msg 262, Level 14, State 1, Line 1
CREATE DATABASE permission denied in database 'master'.


теперь я ей даю это самое CREATE DATABASE и она получает:
Msg 5120, Level 16, State 101, Line 1
Unable to open physical file "...mdf". Operating system error 2: "2(failed to retrieve text for this error. Reason 15105)"


раз он апгрэйдить начал, то уж явно у логина есть CREATE DATABASE,
а у виндовского юзера права на файлы.
или откуда он еще вычитал версию базы по-вашему?
да ради бога, кстати, продолжайте верить, что у кого-то не хватает прав, а ему пишут ошибку пpо апгрэйд
:P
8 авг 14, 17:28    [16418979]     Ответить | Цитировать Сообщить модератору
 Re: Попытка восстановления файла из mdf  [new]
Алексей Кр
Member

Откуда: Белгород
Сообщений: 458
Пляски с бубном увенчались успехом :
Вот алгоритм:

1) создание базы данных с таким же именем и файлами, что и у исходной...
2) останавливаем sql server
3) подмениваем mdf/ldf файлы
4) стартуем sql server
5) база появилась, нажимаем плюсик не раскрывается, в диалогом окне свойства базы данных статус offline
Смотрим точное состояние: select state_desc from sys.databases where name='db_name', значение: RECOVER_PENDING
Далее конкретные скрипты:
6) ALTER DATABASE db_name SET EMERGENCY --база станет "розоватой"
7) ALTER DATABASE db_name SET SINGLE_USER WITH ROLLBACK IMMEDIAT --однопользовательский режим
8) DBCC CHECKDB ('db_name', REPAIR_ALLOW_DATA_LOSS) --проверка целостности бд, --сообщает что ldf не корректен, в итоге перестроен...
9) ALTER DATABASE db_name SET ONLINE -- выходим из EMERGENCY состояния
10) ALTER DATABASE db_name SET MULTI_USER WITH NO_WAIT --подключаем многопользовательский режим

Итог: 100 гектар данных возвращено :)

P.S. некоторые тут просто слишком много флудят, кратко отвечают, стеб производят, камень в огород Glory... если нет мыслей - ПРОМОЛЧИТЕ!!! вот мой совет :)

P.S. Гугль и справочники по T-SQL намного полезнее :)
8 авг 14, 17:30    [16418987]     Ответить | Цитировать Сообщить модератору
 Re: Попытка восстановления файла из mdf  [new]
Алексей Кр
Member

Откуда: Белгород
Сообщений: 458
Единственное остается ldf по другому пути, создал тему: https://www.sql.ru/forum/1109728-a/perenesti-mestoraspolozhenie-ldf-fayla
По другому пути, чтоб "обмануть" sql server и подсунутьв место оригинального файла файл с пустой бд...
запросы его перестроили и вуаля :)
Остается вопрос как его перенести :)
8 авг 14, 17:34    [16419008]     Ответить | Цитировать Сообщить модератору
 Re: Попытка восстановления файла из mdf  [new]
Glory
Member

Откуда:
Сообщений: 104760
Алексей Кр
некоторые тут просто слишком много флудят, кратко отвечают, стеб производят, камень в огород Glory... если нет мыслей - ПРОМОЛЧИТЕ!!! вот мой совет :)

Вы бы лучше не совкеты давали, а бэкапы делали.
А то в следующий раз может не повезьти.

Алексей Кр
тог: 100 гектар данных возвращено :)

А то , что неизвестно, какие действия были потеренном журале, это вас конечно не волнует.
Ну подумашь, что-то там не сойдется в отчетах, нехай сами ищут.
8 авг 14, 17:36    [16419014]     Ответить | Цитировать Сообщить модератору
 Re: Попытка восстановления файла из mdf  [new]
Glory
Member

Откуда:
Сообщений: 104760
Алексей Кр
Остается вопрос как его перенести :)

Что "Гугль и справочники по T-SQL" уже прочитаны ?
8 авг 14, 17:37    [16419019]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить