Проблема
При запуске инструкции dbcc shrinkfile с использованием логического имени файла в базе данных Microsoft SQL Server 2008 R2 или Microsoft SQL Server 2008 может появиться следующее сообщение об ошибке:
Примечание
MSG 8985, уровень 16, состояние 1, строка 2
Не удалось найти файл "test_log_issue_log" для базы данных "test" в sys.database_files. Файл либо не существует, либо был удален.
Решение
Сведения о пакете обновления
Чтобы устранить эту проблему, установите Microsoft SQL Server 2008 с пакетом обновления 4 (SP4). Для получения дополнительной информации о том, как получить SQL Server 2008 SP4, щелкните статью со следующим номером в базе знаний Майкрософт:
Информация о выпуске 2979596 SQL Server 2008 с пакетом обновления 4 (SP4)
Сведения об исправлениях
Исправление для SQL Server 2008 с пакетом обновления 3 (SP3)
Поддерживаемое исправление доступно от корпорации Майкрософт. Однако это исправление предназначено только для устранения проблемы, описанной в этой статье. Примените это исправление только к системам, в которых возникает эта конкретная проблема.
Если исправление доступно для скачивания, в верхней части этой статьи базы знаний отобразится раздел "Доступно скачивание исправления". Если этот раздел не отображается, отправьте запрос в службу поддержки пользователей Майкрософт, чтобы получить исправление.
Примечание Если возникнут дополнительные проблемы или потребуется их устранение, может потребоваться создать отдельный запрос на обслуживание. Обычные расходы на поддержку будут применяться для решения дополнительных вопросов поддержки и проблем, не подпадающих под это исправление. Полный список телефонных номеров службы поддержки и обслуживания клиентов Майкрософт или создание отдельного запроса на обслуживание см. на следующем веб-сайте Майкрософт:
/contactus/?ws=support Примечание. В форме "Доступно скачивание исправления" указаны языки, для которых доступно исправление. Если вы не видите свой язык, это означает, что для него недоступно исправление.
Сведения о накопительном пакете обновления
Накопительный пакет обновления 8 для SQL Server 2008 R2 с пакетом обновления 2 (SP2)
Исправление для этой проблемы впервые было выпущено в накопительном пакете обновления 8. Для получения дополнительной информации о том, как получить этот накопительный пакет обновления для SQL Server 2008 R2 с пакетом обновления 2, откройте статью со следующим номером в базе знаний Майкрософт:
2871401 Накопительный пакет обновления 8 для SQL Server 2008 R2 с пакетом обновления 2 (SP2). Так как сборки являются накопительными, каждый новый выпуск исправления содержит все исправления и исправления для системы безопасности, включенные в предыдущий выпуск исправления SQL Server 2008 R2 с пакетом обновления 2 (SP2). Рекомендуется рассмотреть возможность применения последнего выпуска исправления, содержащего это исправление. Для просмотра статьи в базе знаний Майкрософт щелкните следующий номер статьи:
2730301 Сборки SQL Server 2008 R2, выпущенные после выпуска SQL Server 2008 R2 с пакетом обновления 2
Состояние
Корпорация Майкрософт подтвердила, что это проблема продуктов Microsoft, перечисленных в разделе «Относится к».
Временное решение
Чтобы обойти эту проблему, используйте file_id в инструкции dbcc shrinkfile. Чтобы получить идентификатор файла, используйте системную функцию FILE_IDEX или запросите sys.database_files представление каталога в текущей базе данных.
Дополнительные сведения
Дополнительные сведения об использовании инструкции dbcc shrinkfile см. на следующем веб-сайте TechNet:
Использование оператора "dbcc shrinkfile" Дополнительные сведения об использовании функции системы FILE_IDEX см. на следующем веб-сайте TechNet: