powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Разблокировать базу (MS-SQL 6.5)
17 сообщений из 17, страница 1 из 1
Разблокировать базу (MS-SQL 6.5)
    #32012148
Приключилась вот какая оказия: На сервере крутится MS-SQL 6.5 и все до поры до времени было хорошо. Однако в один прекрасный день при работе с базой подвисла клиентсткая программа и пришлось перегружать рабочую станцию, на которой произошло зависание. После этого эпизода при повторном запуске клиентской программы сервер отвечает, что в данный момент с базой уже работает пользователь и она может быть открыта только для чтения. На самом сервере та же ерунда. Он не дает сделать бэкап, мотивируя это тем, что с базой уже работает пользователь. После того, как перевел ее в однопользовательский режим стало еще хуже: она не хочет делать и восстановление с резервной копии базы и более того ни в какую не желает возвращаться в многопользовательский режим. Как можно заставить сервер поверит, что никто с этой базой не работает и привести базу в чувство? Буду очень признателен за советы!
...
Рейтинг: 0 / 0
Разблокировать базу (MS-SQL 6.5)
    #32012155
VictorS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А какая конкретно ошибка (номер) выдается?
Что показывает процедура sp_who?
Сервер перезагружали?
...
Рейтинг: 0 / 0
Разблокировать базу (MS-SQL 6.5)
    #32012168
Сервер перегружался неоднократно. В том числе и просто останавливался и перезапускался только SQL-сервер. Это не помогает. sp_who не смотрел, поэтому ответить не могу. Номер ошибки тоже не запомнил. Но хотелось бы знать, есть ли возможность принудительно отсоединить всех пользователей, независимо от того, сколько их в данный момент работает с базой. Или же это повреждение самой базы и нужно каким-то образом восстановить ее целостность? В связи с тем, что база дает теперь доступ только для чтения, может ли мне помочь ROLLBACK, для отката последней транзакции?
...
Рейтинг: 0 / 0
Разблокировать базу (MS-SQL 6.5)
    #32012173
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дык а если kill всех?
...
Рейтинг: 0 / 0
Разблокировать базу (MS-SQL 6.5)
    #32012229
eniks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня такая ситуация закончилась переустановкой сервера
(переустановил сервер, создал устройства и базу с теми же именами,
сделал бэкап чистой базы(без таблиц)на устройство с тем же именем что и имеющийся архив только в др. место на диске,подменил полученный пустой архив нормальным)
а затем восстановлением информации из имееющегося архива
...
Рейтинг: 0 / 0
Разблокировать базу (MS-SQL 6.5)
    #32012283
Фотография Александр Гладченко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно, у Вас одна из системных баз в состоянии Suspect. В ЕМ она показывается серым цветом?
...
Рейтинг: 0 / 0
Разблокировать базу (MS-SQL 6.5)
    #32012293
Значит, по-порядку. Ошибка: 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
Разблокировать базу (MS-SQL 6.5)
    #32012296
Фотография Александр Гладченко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Разблокировать базу (MS-SQL 6.5)
    #32012303
Угу. Это я тоже попробую! Спасибо
...
Рейтинг: 0 / 0
Разблокировать базу (MS-SQL 6.5)
    #32012308
VictorS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А что происходит при попытке перевести обратно в многопользовательский режим?
...
Рейтинг: 0 / 0
Разблокировать базу (MS-SQL 6.5)
    #32012309
При попытке перевести в многопользовательский режим она от меня отбрыкивается вышеозначенной ошибкой 924. То есть, если я правильно понимаю, то пользователя, от имени которого я пытаюсь перевести базу в многопользовательский режим она считает уже 2-м и не дает ему возможности выполнить операцию.
...
Рейтинг: 0 / 0
Разблокировать базу (MS-SQL 6.5)
    #32012326
Фотография Александр Гладченко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно, вы пробуете работать с базой, находящейся в однопользовательском режиме, из ЕМ. Дело в том, что зачастую, ЕМ открывает два соединения с базой, что не допустимо в однопользовательском режиме. Всё нужно делать в QA.
...
Рейтинг: 0 / 0
Разблокировать базу (MS-SQL 6.5)
    #32012329
Да, мне пришло это в голову. Я запустил MS Query и получил то же самое сообщение об ошибке. Где-то все-таки, по-видимому или висит пользователь или база повреждена таким образом, что сервер только считает, что с ней кто-то работает.
...
Рейтинг: 0 / 0
Разблокировать базу (MS-SQL 6.5)
    #32012334
victorS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Возможно глупый вопрос, но все же:
А в многопользовательский режим пытаетесь перевести находясь в базе master?
...
Рейтинг: 0 / 0
Разблокировать базу (MS-SQL 6.5)
    #32012350
Действительно глупый вопрос
Естественно я пытаюсь перевести в многопользовательский режим свою базу StOffice.
Причем, создав новую базу StOfficeCopy я несколько раз безпрепятственно переводил ее в однопользовательский режим и обратно. Наложил на нее старую базу, но пока результаты не проверял. Сегодня вечером буду пробовать.
...
Рейтинг: 0 / 0
Разблокировать базу (MS-SQL 6.5)
    #32012605
Ну вроде бы с божьей помощью поборол глюк. Перевод в multiuser не удался, сброс пользователя из базы не приводил к желаемому результату, потому, что я сбрасывал самого себя, а не "залипшего" пользователя. Была именно повреждена база, поскольку после того, как я создал базу с другим именем и восстановил в нее предыдущий бэкап базы, а затем, остановивив SQL-сервер подменил файлы старой базы на файлы новой базы я без всяких проблем смог перевести ее в мультиюзер и вообще все стало работать якобы как прежде. Пока все довольны, но нужно выждать еще некоторое время, чтобы уже с уверенностью сказать, что это помогло. Всем участникам дискуссии большое спасибо за советы, изучая их как мне кажется я более ясно представил себе проблему. Отдельная благодарность Александру Гладченко, тем более, что он оказался моим земляком
...
Рейтинг: 0 / 0
Разблокировать базу (MS-SQL 6.5)
    #32012672
Фотография Александр Гладченко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если база повреждена, то при старте сервера, первым делов выполняется recovery, что и держит базу, пока этот процесс не завершится. Неудачное завершение этого процесса должно было отразиться в журнале ошибок SQL сервера и журнале ошибок приложений NT. Судя по всему, у Вас пострадала одна из системных баз (master или tempdb), и Вы нашли один из верных путей разрешения проблемы. Если бы пострадали данные, навряд ли у вас база заработала бы. Всё равно, для профилактики, запустите DBCC CHECKDB.
Всегда приятно помочь земляку
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Разблокировать базу (MS-SQL 6.5)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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