Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

FILESTREAM_BACKUP_CORRUPTION 1С:Предприятие и СУБД

Резервное копирование и проверка баз MSSQL с FILESTREAM и FileTable

Обновлено: 26.08.2026 · Официальная документация ↗
  • Ошибка A file activation error occurred. The physical file name '...' may be incorrect при восстановлении базы с FILESTREAM.
  • VSS-бэкапы стороннего ПО не включают в себя физические файлы в папках файловых контейнеров.
  • Невозможность создания Database Snapshot для баз данных, содержащих файловые группы FILESTREAM.
  • Ошибки согласованности метаданных между таблицами СУБД и файлами на томе NTFS.

1. Проверка конфигурации уровня инстанса и базы данных

-- Проверка уровня включения FILESTREAM на экземпляре (должно быть 2 или 3)
EXEC sp_configure 'filestream access level';

-- Проверка файловых групп и контейнеров базы
SELECT 
    fg.name AS FilegroupName,
    df.name AS LogicalName,
    df.physical_name AS PhysicalPath,
    df.type_desc
FROM sys.filegroups fg
JOIN sys.database_files df ON fg.data_space_id = df.data_space_id
WHERE fg.type = 'FD'; -- FILESTREAM data

2. Создание полного бэкапа базы данных с файловыми таблицами

BACKUP DATABASE [DocStorage1C]
TO DISK = N'D:\Backups\DocStorage1C_Full.bak'
WITH COMPRESSION, CHECKSUM, STATS = 10;

3. Восстановление базы с переносом FILESTREAM контейнера на новый путь

RESTORE DATABASE [DocStorage1C]
FROM DISK = N'D:\Backups\DocStorage1C_Full.bak'
WITH 
    MOVE N'DocStorage1C_Data' TO N'D:\SQLData\DocStorage1C.mdf',
    MOVE N'DocStorage1C_Log'  TO N'L:\SQLLogs\DocStorage1C.ldf',
    MOVE N'DocStorage1C_FS'   TO N'F:\FileStreamContainer\DocStorage_Files',
    REPLACE, RECOVERY, STATS = 5;

4. Глубокая проверка целостности связей FILESTREAM

-- Проверка целостности файловых ссылок и заголовков
DBCC CHECKDB (N'DocStorage1C') WITH EXTENDED_LOGICAL_CHECKS;
💡 Практика специалистов: Для баз 1С:Документооборот, использующих FileTable/FILESTREAM, исключите целевой каталог контейнера из сканирования файловым антивирусом, иначе блокировка дескрипторов антивирусным агентом приведет к падению транзакций с ошибкой OS Error 32.

Частые вопросы (FAQ)

Входят ли файлы из каталога FILESTREAM в стандартный файл бэкапа .bak?

Да. Нативная команда BACKUP DATABASE включает в .bak файл как реляционные данные, так и все бинарные BLOB-объекты из контейнеров FILESTREAM.

Почему нельзя скопировать папку FILESTREAM вручную через Проводник Windows?

Файлы управляются фильтром драйвера файловой системы SQL Server (RsFx). Ручная модификация или копирование нарушает системные транзакционные LSN-журналы контейнера.

Поддерживается ли сжатие (COMPRESSION) для бэкапов с FILESTREAM?

Сам бэкап поддерживает опцию WITH COMPRESSION, однако сжатию подвергаются только реляционные страницы. Сами файлы внутри контейнера сжимаются незначительно, если они уже находятся в формате PDF/JPEG/ZIP.

Что делать, если папка целевого контейнера FILESTREAM уже существует при RESTORE?

Целевая папка для контейнера FILESTREAM не должна существовать перед выполнением RESTORE — SQL Server обязан создать ее самостоятельно во избежание конфликта прав доступа.

Полезные материалы
Рекомендуем