Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Разблокировать базу (MS-SQL 6.5) / 17 сообщений из 17, страница 1 из 1
20.08.2001, 05:01
    #32012148
Разблокировать базу (MS-SQL 6.5)
Приключилась вот какая оказия: На сервере крутится MS-SQL 6.5 и все до поры до времени было хорошо. Однако в один прекрасный день при работе с базой подвисла клиентсткая программа и пришлось перегружать рабочую станцию, на которой произошло зависание. После этого эпизода при повторном запуске клиентской программы сервер отвечает, что в данный момент с базой уже работает пользователь и она может быть открыта только для чтения. На самом сервере та же ерунда. Он не дает сделать бэкап, мотивируя это тем, что с базой уже работает пользователь. После того, как перевел ее в однопользовательский режим стало еще хуже: она не хочет делать и восстановление с резервной копии базы и более того ни в какую не желает возвращаться в многопользовательский режим. Как можно заставить сервер поверит, что никто с этой базой не работает и привести базу в чувство? Буду очень признателен за советы!
...
Рейтинг: 0 / 0
20.08.2001, 05:49
    #32012155
VictorS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разблокировать базу (MS-SQL 6.5)
А какая конкретно ошибка (номер) выдается?
Что показывает процедура sp_who?
Сервер перезагружали?
...
Рейтинг: 0 / 0
20.08.2001, 06:23
    #32012168
Разблокировать базу (MS-SQL 6.5)
Сервер перегружался неоднократно. В том числе и просто останавливался и перезапускался только SQL-сервер. Это не помогает. sp_who не смотрел, поэтому ответить не могу. Номер ошибки тоже не запомнил. Но хотелось бы знать, есть ли возможность принудительно отсоединить всех пользователей, независимо от того, сколько их в данный момент работает с базой. Или же это повреждение самой базы и нужно каким-то образом восстановить ее целостность? В связи с тем, что база дает теперь доступ только для чтения, может ли мне помочь ROLLBACK, для отката последней транзакции?
...
Рейтинг: 0 / 0
20.08.2001, 06:55
    #32012173
SergSuper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разблокировать базу (MS-SQL 6.5)
дык а если kill всех?
...
Рейтинг: 0 / 0
20.08.2001, 11:06
    #32012229
eniks
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разблокировать базу (MS-SQL 6.5)
У меня такая ситуация закончилась переустановкой сервера
(переустановил сервер, создал устройства и базу с теми же именами,
сделал бэкап чистой базы(без таблиц)на устройство с тем же именем что и имеющийся архив только в др. место на диске,подменил полученный пустой архив нормальным)
а затем восстановлением информации из имееющегося архива
...
Рейтинг: 0 / 0
20.08.2001, 16:20
    #32012283
Александр Гладченко
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разблокировать базу (MS-SQL 6.5)
Возможно, у Вас одна из системных баз в состоянии Suspect. В ЕМ она показывается серым цветом?
...
Рейтинг: 0 / 0
20.08.2001, 18:05
    #32012293
Разблокировать базу (MS-SQL 6.5)
Значит, по-порядку. Ошибка: Error 924 Severity Level 14 Message Text
Database '%.*ls' is already open and can only have one user at a time.
sp_who показывает примерно следующее:
11 sleeping sa 0 StOffice AWAITING COMMAND
прибить еще не пробовал.
Боюсь, что самой большой ошибкой было то, что я перевел базу в single user,
до этого она не так активно ругалась и была надежда на рестор с бэкапа. Теперь боюсь надежда эта весьма призрачна. Создал еще одну базу StOfficeCopy и восстановил в нее предыдущий успешный бэкап базы. Завтра посмотрю, что из этого получится. Если все путем, то оставлю работать копию базы, а основную или грохну или оставлю пока болтаться... Хотя может еще и не поможет. Трудно сказать.
...
Рейтинг: 0 / 0
20.08.2001, 19:47
    #32012296
Александр Гладченко
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разблокировать базу (MS-SQL 6.5)
Error 924
Severity Level 14
Message Text
Database '%.*ls' is already open and can only have one user at a time.

Explanation
This error occurs when trying to access a database that is already in use by another user or session. Microsoft® SQL Server™ detected an attempt to access a database that is in single-user mode.

Action
Verify that the database in question is actually in single-user mode by executing this query (substitute your database name for <database> ).

sp_helpdb <database>
GO

If the database is truly in single-user mode, the status result set column heading will list single user as the access mode.

To see what login is accessing the database, execute sp_who and scan the dbname result set column heading for the specified database.

If single-user mode privilege is a problem, contact your system administrator and ask to have the single-user mode database option set to multiuser. The system administrator can do so by executing sp_dboption from the master database, as shown here:

sp_dboption database, 'single user', false

Вроде, всё понятно...
...
Рейтинг: 0 / 0
21.08.2001, 04:42
    #32012303
Разблокировать базу (MS-SQL 6.5)
Угу. Это я тоже попробую! Спасибо
...
Рейтинг: 0 / 0
21.08.2001, 05:36
    #32012308
VictorS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разблокировать базу (MS-SQL 6.5)
А что происходит при попытке перевести обратно в многопользовательский режим?
...
Рейтинг: 0 / 0
21.08.2001, 05:47
    #32012309
Разблокировать базу (MS-SQL 6.5)
При попытке перевести в многопользовательский режим она от меня отбрыкивается вышеозначенной ошибкой 924. То есть, если я правильно понимаю, то пользователя, от имени которого я пытаюсь перевести базу в многопользовательский режим она считает уже 2-м и не дает ему возможности выполнить операцию.
...
Рейтинг: 0 / 0
21.08.2001, 06:49
    #32012326
Александр Гладченко
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разблокировать базу (MS-SQL 6.5)
Возможно, вы пробуете работать с базой, находящейся в однопользовательском режиме, из ЕМ. Дело в том, что зачастую, ЕМ открывает два соединения с базой, что не допустимо в однопользовательском режиме. Всё нужно делать в QA.
...
Рейтинг: 0 / 0
21.08.2001, 06:59
    #32012329
Разблокировать базу (MS-SQL 6.5)
Да, мне пришло это в голову. Я запустил MS Query и получил то же самое сообщение об ошибке. Где-то все-таки, по-видимому или висит пользователь или база повреждена таким образом, что сервер только считает, что с ней кто-то работает.
...
Рейтинг: 0 / 0
21.08.2001, 07:13
    #32012334
victorS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разблокировать базу (MS-SQL 6.5)
Возможно глупый вопрос, но все же:
А в многопользовательский режим пытаетесь перевести находясь в базе master?
...
Рейтинг: 0 / 0
21.08.2001, 07:51
    #32012350
Разблокировать базу (MS-SQL 6.5)
Действительно глупый вопрос
Естественно я пытаюсь перевести в многопользовательский режим свою базу StOffice.
Причем, создав новую базу StOfficeCopy я несколько раз безпрепятственно переводил ее в однопользовательский режим и обратно. Наложил на нее старую базу, но пока результаты не проверял. Сегодня вечером буду пробовать.
...
Рейтинг: 0 / 0
23.08.2001, 06:00
    #32012605
Разблокировать базу (MS-SQL 6.5)
Ну вроде бы с божьей помощью поборол глюк. Перевод в multiuser не удался, сброс пользователя из базы не приводил к желаемому результату, потому, что я сбрасывал самого себя, а не "залипшего" пользователя. Была именно повреждена база, поскольку после того, как я создал базу с другим именем и восстановил в нее предыдущий бэкап базы, а затем, остановивив SQL-сервер подменил файлы старой базы на файлы новой базы я без всяких проблем смог перевести ее в мультиюзер и вообще все стало работать якобы как прежде. Пока все довольны, но нужно выждать еще некоторое время, чтобы уже с уверенностью сказать, что это помогло. Всем участникам дискуссии большое спасибо за советы, изучая их как мне кажется я более ясно представил себе проблему. Отдельная благодарность Александру Гладченко, тем более, что он оказался моим земляком
...
Рейтинг: 0 / 0
23.08.2001, 11:03
    #32012672
Александр Гладченко
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Разблокировать базу (MS-SQL 6.5)
Если база повреждена, то при старте сервера, первым делов выполняется recovery, что и держит базу, пока этот процесс не завершится. Неудачное завершение этого процесса должно было отразиться в журнале ошибок SQL сервера и журнале ошибок приложений NT. Судя по всему, у Вас пострадала одна из системных баз (master или tempdb), и Вы нашли один из верных путей разрешения проблемы. Если бы пострадали данные, навряд ли у вас база заработала бы. Всё равно, для профилактики, запустите DBCC CHECKDB.
Всегда приятно помочь земляку
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Разблокировать базу (MS-SQL 6.5) / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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