DBCC shrinkfile выдает ошибку - PullRequest
4 голосов
/ 09 марта 2010

Я пытаюсь сжать мой файл журнала, используя DBCC SHRINKFILE(db_2.ldf), то есть имя файла журнала

Каждый раз выдает ошибку:

8985, уровень 16, состояние 1, строка 1 Не удалось найти файл 'FIelD' для базы данных базы данных в sys.database_files. Файл либо не существует, либо был удален.

Подскажите, пожалуйста, что я могу сделать, чтобы это исправить.

Ответы [ 5 ]

12 голосов
/ 09 марта 2010

Имя файла должно быть логическим именем файла, а не физическим именем файла. Найдите в Свойствах базы данных на вкладке Файлы логическое имя файла, который вы пытаетесь сжать, и используйте это имя.

1 голос
/ 06 июня 2011

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

-- retrieve the logical files for the current db
SELECT [name] AS logical_file FROM sys.database_files df

-- rename the logical file (to match the database name)
ALTER DATABASE YourDB
MODIFY FILE (NAME = 'LogicalFile1', NEWNAME='NewLogicalFile1')
GO

ALTER DATABASE YourDB
MODIFY FILE (NAME = 'LogicalFile2', NEWNAME='NewLogicalFile2')
GO

Причина этих двух изменений заключается в том, что с каждой базой данных обычно связаны два файла: файл данных и файл журнала.

1 голос
/ 09 марта 2010

Вы запускаете его в контексте базы данных, в которой есть журнал, который вы пытаетесь сжать? Убедитесь, что у вас есть правильный оператор USE перед выполнением команд DBCC

0 голосов
/ 10 февраля 2014

Из SQL Management Studio Щелкните правой кнопкой мыши имя базы данных, Задачи, Сокращение, База данных Ctrl + Shift + N (или действие сценария для нового окна запроса)

Генерирует следующее:

USE [DataBaseName] ИДТИ DBCC SHRINKDATABASE (N'DataBaseName ') GO

0 голосов
/ 09 марта 2010

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

fileid  groupid size    maxsize     growth  status  perf name filename 
2           0   1048    268435456      10   1048642 0           PrimaryLogFileName

Спасибо

...