Jump to content

Recommended Posts

Posted (edited)

Здравствуйте!

Решил обновить KSC 13.2 до 15

База в SQLExpress 12.0.2000

Перед обновлением решил сделать бэкап.

Задача резервного копирования в KSC 13.2 и утилита klbackup выдают:

База данных повреждена. Generic db error: "1823 'Невозможно создать моментальный снимок базы данных из-за ошибки ее запуска.{42000};' LastStatement='DBCC CHECKDB('KAV') WITH NO_INFOMSGS;'"

 

Не поможете с решением проблемы?

Edited by iiwanc25
Posted
30 минут назад, iiwanc25 сказал:

База данных повреждена

И при этом "KSC" работает?

Возможно, что пользователю, из-под которого выполняется klbackup каких-нибудь прав не хватает?

Попробуйте сделать дамп БД с помощью средств MSSQL, ошибку покажет?

Гляньте системный журнал, может там будет какая-нибудь подсказка?

Какой объём файла БД, свободного места на томе хватает?

Posted
1 час назад, andrew75 сказал:

Выполнил запрос к базе по рекомендации по ссылке:

DBCC CHECKDB('KAV');

 

Результат:

Сообщение 1823, уровень 16, состояние 2, строка 1
Невозможно создать моментальный снимок базы данных из-за ошибки ее запуска.
Сообщение 1823, уровень 16, состояние 8, строка 1
Невозможно создать моментальный снимок базы данных из-за ошибки ее запуска.
Сообщение 5170, уровень 16, состояние 1, строка 1
Невозможно создать файл "C:\Program Files\Microsoft SQL Server\MSSQL12.SQLEXPRESS\MSSQL\DATA\KAV.mdf_MSSQL_DBCC7", так как он уже существует. Измените путь файла или его имя, после чего повторите операцию.
Сообщение 7928, уровень 16, состояние 1, строка 1
Не удалось создать моментальный снимок базы данных для проверки в сети. Причина содержится либо в предыдущем сообщении об ошибке, либо в том, что один из используемых дисковых томов не поддерживает разреженные файлы или дополнительные потоки. Производится попытка получить монопольный доступ для запуска проверки вне сети.
Сообщение 5030, уровень 16, состояние 12, строка 1
Базу данных нельзя заблокировать монопольно для выполнения операции.
Сообщение 7926, уровень 16, состояние 1, строка 1
Инструкция проверки отменена. База данных не может быть проверена, так как не удалось создать ее моментальный снимок, и база данных или таблица не может быть заблокирована. Более подробно о том, когда возникает данная ситуация и какие существуют обходные пути, см. электронную документацию. См. также предыдущие сообщения об ошибках.

 

Не совсем понимаю, что нужно сделать дальше.

Буду рад рекомендациям.

 

Posted (edited)
23 минуты назад, iiwanc25 сказал:

Невозможно создать файл "C:\Program Files\Microsoft SQL Server\MSSQL12.SQLEXPRESS\MSSQL\DATA\KAV.mdf_MSSQL_DBCC7", так как он уже существует. Измените путь файла или его имя, после чего повторите операцию.

Это может означать, что ранее уже начиналась проверка файла БД, но она по какой-то причине не удалась, а временный файл остался.

Какой датой создан указанный файл?

Как вариант, временно перенести этот файл в др. расположение и повторить проверку.

Edited by durtuno
  • Like 1
Posted

Можно попробовать:

DBCC CHECKDB (KAV) WITH TABLOCK;

Если база используется, то проверку сделать нельзя. Эта опция обеспечит монопольную блокировку и не потребует создания моментального снимка.

https://learn.microsoft.com/ru-ru/sql/t-sql/database-console-commands/dbcc-checkdb-transact-sql?view=sql-server-ver16

https://www.mssqltips.com/sqlservertip/2399/minimize-performance-impact-of-sql-server-dbcc-checkdb/

Или надо проверять права на файлы базы. Они должны быть не только на чтение.

https://forum.mista.ru/topic.php?id=811691

Posted

Исходя из ошибки первого поста, проблема при доступе/ созданию файла при попытке выполнения проверки БД. Поэтому и были заданы наводящие вопросы про доступное место, права доступа и пр.

Как можно предположить из последующего ответа, остался временный файл от предыдущей попытки проверки, возможно, что-то пошло не так, задание прервалось и файл автоматически не удалился.

Поэтому следующим шагом предлагается установить дату и время создания этого временного файла, сопоставить с событиями на сервере, а после от этого файла избавиться.

Posted
2 минуты назад, durtuno сказал:

Поэтому следующим шагом предлагается установить дату и время создания этого временного файла, сопоставить с событиями на сервере, а после от этого файла избавиться.

согласен. Файл не просто так появился, нужно на него посмотреть.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now


×
×
  • Create New...