Ошибка журнала транзакций Sql Server 2008 - PullRequest
0 голосов
/ 05 февраля 2012
select log_reuse_wait_desc from sys.databases where name = 'mydb'

enter image description here

1.  LOG_BACKUP

Все запросы на обновление и вставку запросов:

Ошибка ODBC: ODBC RC = -1, ODBC SQLState = 37000, RC СУБД = 9002, Msg СУБД = [Microsoft] [ODBC SQL Server Драйвер] [SQL Server] Журнал транзакций для базы данных «mydb» заполнен. к узнать, почему пространство в журнале не может быть повторно использовано, см. столбец log_reuse_wait_desc в базе данных sys.d. Операция отменена

Мой запрос: Сначала я удаляю и вставляю данные в STATUS TABLE:

String insertQuery = "insert into "+dbmsName+"."+schemaName+".status(siteId,Severity) values(?,?)";
String deleteQuery = "delete from "+dbmsName+"."+schemaName+".status";

Теперь я выбираю из таблицы состояния и обновляю живую таблицу:

 String updateQuery = "update "+dbmsName+"."+schemaName+".live set status = ? where new_site_id = ?";  
 String updateAllQuery = "update "+dbmsName+"."+schemaName+".live set status = site_status where new_site_id = ?";

Теперь я даже не могу использовать другие запросы на обновление.

Как я могу решить эту проблему?

1 Ответ

1 голос
/ 05 февраля 2012

«Журнал транзакций для базы данных« mydb »заполнен» - вот в чем проблема.

Вам необходимо освободить место на диске.Пока вы этого не сделаете, вы не сможете много сделать.

У вас есть регулярный график обслуживания T-LOG?Если вы находитесь в режиме полного восстановления и у вас нет запущенных резервных копий, то транзакция просто продолжит расти.

Чтобы сжать журнал транзакций для вашей базы данных (не делайте этого обычно, просто при возникновении текущей ситуации):

Был ли установлен максимальный размер для вашей базы данных?Запустите его, чтобы узнать:

sp_helpdb mydb
go

Обновление : необходимо выполнить резервное копирование журнала транзакций.Вы, вероятно, должны сделать это несколько раз.После резервного копирования журнала транзакций попробуйте уменьшить его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...