CREATE FILE обнаружил ошибку операционной системы 5 (не удалось получить текст для этой ошибки. Причина: 15105)

У меня есть файл базы данных .mdf из MS SQL EXPRESS в папке:

C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA

Я хотел бы прикрепить его к MS 2008 R2 (MSSQL10_50.MSSQLSERVER), но используя Server Management Studio, я получаю следующую ошибку:

CREATE FILE encountered operating system error 5(failed to retrieve text for this error. Reason: 15105) while attempting to open or create the physical file

У вас есть идеи, как его решить?

Ответ 1

Мне удалось решить проблему с запуском MS SQL Management Studio в качестве ADMINISTRATOR.

Ответ 2

Это проблема с разрешениями Windows. Если вы подключились к вашему серверу с помощью проверки подлинности Windows, то пользователю Windows необходимы разрешения для файла. Если вы подключились к вашему серверу с помощью проверки подлинности SQL Server, то учетная запись экземпляра SQL Server (MSSQL $, например MSSQL $SQLEXPRESS) нуждается в разрешениях к файлу. Другие решения, предлагающие войти в систему как администратор, по существу выполняют одно и то же (с куском кувалды:).

Если файл базы данных находится в папке данных SQL Server, он должен унаследовать права пользователя для учетной записи SQL Server из этой папки, чтобы проверка подлинности SQL Server работала. Я бы рекомендовал исправить права учетной записи экземпляра SQL Server для этой папки. Если файл данных находится где-то в другом месте, а учетная запись SQL Server не имеет разрешений, вы, скорее всего, столкнетесь с другими проблемами позже. Опять же, лучшим решением является исправление прав учетной записи SS. Если вы не собираетесь входить в систему как администратор...

Ответ 3

Щелкните правой кнопкой мыши на файле mdf и ldf-свойствах → безопасность → полное разрешение

Ответ 4

Предоставление прав администратора или полного управления моей базой установки базы данных решает мою проблему

Ответ 5

У меня была та же проблема. После нескольких попыток я понял, что подключение сервера sql с проверкой подлинности Windows решило проблему.

Ответ 6

В качестве альтернативы поможет другой предлагаемый запуск под управлением администратора.

Однако это только в том случае, если пользователь Windows фактически является админитратором на машине, на которой выполняется SQL-сервер.

Например, при использовании SSMS с удаленного компьютера это не поможет использовать "запустить как administartor", если пользователь является только администратором на компьютере, запускающем SSMS, но не на машине, на которой работает SQL Server.

Ответ 7

1. скопируйте ваши файлы -. MDF, -. LDF в pate в этом месте Для сервера 2008 года C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA 2. В SQL Server 2008 используйте ATTACH и выберите то же место для добавления

Ответ 8

Я получал схожую ошибку.

CREATE FILE encountered operating system error **32**(failed to retrieve text for this error. Reason: 15105) while attempting to open or create the physical file

Я использовал следующую команду для присоединения базы данных:

EXEC sp_attach_single_file_db @dbname = 'SPDB',
@physname = 'D:\SPDB.mdf'

Ответ 9

У меня была эта проблема в Windows 2003 с SQL 2005. Я должен был взять на себя права на файлы в качестве учетной записи пользователя Windows, и я получил базу данных таким образом.

Вы должны щелкнуть правой кнопкой мыши по файлу, выбрать "Свойства", нажать "ОК", чтобы перейти к экрану информации, нажмите кнопку "Дополнительно", выберите свою учетную запись из списка доступных учетных записей или групп, примените это изменение и нажмите "ОК" на Экран свойств. После того, как вы все это сделаете, вы сможете управлять разрешениями на файлы.

Я вошел в SSMS с Windows Authentication, и я смог подключить базу данных без ошибок.

Ура!

Ответ 10

Эта же проблема возникает, когда владельцы файла были удалены. Когда это произойдет, если вы перейдете к свойствам файла, вы увидите идентификатор SID, а не имя пользователя. Соблюдайте файл (дайте себе ПОЛНЫЙ КОНТРОЛЬ). Как только это будет сделано, вы сможете делать все, что вам нужно с файлом.

У меня была эта работа при входе в систему, поскольку администратор не выполнял трюк.

Ответ 11

Если вы уже работаете как администратор, убедитесь, что пользователь, которого вы используете, имеет правильные роли сервера.

  • Войдите в систему как sa (если можете)
  • Разверните папку "Безопасность"
  • Разверните папку "Логины"
  • Щелкните правой кнопкой мыши пользователя, который вы хотите использовать
  • Выберите "Свойства"
  • Выбор ролей сервера
  • Выберите все роли сервера
  • Нажмите "ОК"
  • Перезапуск SSMS
  • Вход с измененным пользователем

Ответ 12

В моем случае у меня возникла ошибка при попытке создать databae на новом диске. Чтобы преодолеть эту проблему, я создал новую папку на этом диске и установил для нее полнофункциональные свойства безопасности Security (может быть достаточно установить Modify). Вывод: УСТАНОВИТЕ "Безопасность диска/папки" для пользователей "Изменить".

Ответ 13

Мое решение было несколько сложнее. После проверки пользователя работала служба, выполнявшая MSSMS как локальный и администратор домена, и проверка прав доступа к папке, я все еще получал эту ошибку. Мое решение?

Владение папкой по-прежнему поддерживалось локальной учетной записью.

Свойствa > Безопасность > Дополнительно > Владелец > (службы домена/локального пользователя/группы SQL работают как)

Это разрешило проблему для меня.

Ответ 14

скопируйте файлы --.MDF, --.LDF, чтобы просмотреть это местоположение. Для сервера 2008 C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA 2.

В sql server 2008 используйте ATTACH и выберите то же местоположение для добавления

Ответ 15

Открытие SSMS в качестве администратора и запуск под управлением SQL Auth vs Windows Auth не работает.

Сработало было просто изменить мое имя файла в том же месте, где расположены файлы LDF и MDF.

alter database MyDB
add file ( name = N'FileStreamName', 
filename = N'D:\SQL Databases\FileStreamSpace' ) 
to filegroup DocumentFiles;

Ответ 16

Вот шаги:

  • Щелкните правой кнопкой мыши файл .mdf и .ldf.
  • Затем выберите свойства.
  • В объявлении security → advanced → добавьте пользователя, который

Ответ 17

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

  • Включить мгновенную инициализацию файла,

  • Предоставленные разрешения (полный контроль) в папке для учетной записи службы и моей учетной записи Windows,

  • Перезапуск службы SQL. После этого восстановлена ​​база данных.

Ответ 19

Мы столкнулись с этой проблемой, когда windowsuser, удаляющий базу данных и windowsuser с базой данных, отличается. Когда windowsuser, отсоединив базу данных, попытался прикрепить ее, он работал нормально без проблем.

Ответ 20

Я просто решил создать файл в D: вместо C: и все работало хорошо. Windows 7... 10 имеет много проблем, касающихся совместного использования и авторизации файлов и папок.

Ответ 21

В моем случае Run as Administrator не помогает. Я решил проблему, изменив встроенную учетную запись на локальную систему в Configuration Manager.

Ответ 22

Вот что произошло в моем случае. Меня попросили прикрепить файлы для базы данных. Мне дали имена файлов следующим образом

  • devdb.mdf и devdb.ldf

Я продолжал прикреплять файлы и продолжал получать файлы, используемые другим процессом.

Я выполнил запрос к системному представлению выбора имени, имя_физического из sys.master_files; и увидел, что точные имена файлов уже используются другой базой данных, поэтому каждый раз, когда я пытался прикрепить файлы, я продолжал получать сообщение об ошибке, что файлы используются другим процессом (сервер SQL)

Таким образом, если вы получаете такое сообщение, сделайте запрос к системному представлению sys.master_files и посмотрите, какая база данных уже использует те же файлы имен. В дальнейшем вы разберетесь, что делать.

Благодарю.

Ответ 23

Не нужно делать все это. Просто щелкните правой кнопкой мыши файлы базы данных и добавьте разрешение всем. Это будет работать точно.