Как я могу сжать mdf файл в SQL Server без ошибок? - PullRequest
0 голосов
/ 07 ноября 2019

, если я хочу сжать один файл mdf:

dbcc shrinkfile (N'xy');
go

Я получил ошибку:

DBCC SHRINKFILE: Страница кучи 23: 878847 не может быть перемещена. Заявление было прекращено. Выполнение DBCC завершено. Если DBCC напечатал сообщения об ошибках, обратитесь к системному администратору. Сообщение 7105, уровень 22, состояние 9, строка 1 Идентификатор базы данных 20, страница (23: 200140), слот 1 для узла типа данных LOB не существует. Обычно это вызвано транзакциями, которые могут прочитать незафиксированные данные на странице данных. Запустите DBCC CHECKTABLE.

Но если я запускаю dbcc checkdb или checktable, он не выдает никакой ошибки. Где может быть проблема? Что я должен делать? Спасибо.

Ответы [ 2 ]

0 голосов
/ 07 ноября 2019

май Это тебе поможет

USE yourdatabaseName 
GO
DBCC SHRINKFILE (N 'yourdatabaseName', 3)
GO
0 голосов
/ 07 ноября 2019

ваша должна поместить вашу базу данных в simple Mode, а после этого сжать вашу базу данных и затем поместить вашу базу данных в Recovery Full Mode

Alter Datatbase yourdatabaseName Set recovery simple 
Go
DBCC ShrinkFile (yourdatabaseName ,5)
GO
Alter Database yourdatabaseName  Set Recovery Full
...