MSSQL Ошибка 5123: CREATE FILE encountered operating system error — Решение
- Сообщение:
Msg 5123, Level 16, State 1: CREATE FILE encountered operating system error 5(Access is denied.) while attempting to open or create the physical file 'D:\Data\Base1C.mdf'. - Сбой при создании новой информационной базы через консоль кластера 1С.
- Невозможность выполнить операцию
RESTORE DATABASE ... WITH MOVE.
1. Проверка прав пользователя и службы SQL Server
В отличие от простого открытия файла, операция CREATE FILE (или ATTACH через интерфейс SSMS) требует наличия прав на папку не только у учетной записи службы SQL Server, но и у учетной записи пользователя Windows, инициировавшего команду.
icacls "D:\Data" /grant "NT SERVICE\MSSQLSERVER":(OI)(CI)F /T
icacls "D:\Data" /grant "DOMAIN\Administrator":(OI)(CI)F /T2. Проверка корректности путей при RESTORE WITH MOVE
При восстановлении базы из бэкапа на другом сервере оригинальные пути (например, диск E:) могут отсутствовать на целевом сервере. Перенаправьте файлы на существующие диски:
RESTORE DATABASE [Base1C]
FROM DISK = N'D:\Backup\Base1C.bak'
WITH
MOVE N'Base1C_Data' TO N'D:\Data\Base1C.mdf',
MOVE N'Base1C_Log' TO N'L:\Log\Base1C_log.ldf',
REPLACE, STATS = 10;
GO3. Проверка свободного места и квот Windows
Убедитесь, что на целевом диске не исчерпано свободное дисковое пространство и отключены дисковые квоты (Disk Quotas) в свойствах тома Windows.
Частые вопросы (FAQ)
Почему ошибка 5123 возникает при добавлении базы через SSMS под учетной записью Администратора?
SSMS передает команду ядру СУБД, и создание файла физически выполняет служба SQL Server. Если у сервисной учетной записи SQL Server нет прав на целевой каталог, возвращается ошибка 5123.
Что делать, если папка для файлов данных не существует?
SQL Server не создает промежуточные каталоги автоматически. Создайте целевую структуру папок на диске вручную перед выполнением команды CREATE DATABASE или RESTORE WITH MOVE.
Влияет ли мгновенная инициализация файлов (IFI) на эту ошибку?
Мгновенная инициализация (Instant File Initialization) ускоряет создание файлов данных MDF/NDF, но требует наличия привилегии 'Perform Volume Maintenance Tasks' (SE_MANAGE_VOLUME_NAME) у службы СУБД.
Как исправить ошибку 5123 при создании базы из 1С:Предприятия?
Убедитесь, что в мастере создания базы в 1С указаны корректные пути к каталогам данных СУБД, и служба MSSQLSERVER имеет полные права на эти пути.