Я получил файл базы данных и инструкции по его загрузке, чтобы установить SQL Server 2005 и затем присоединить его с помощью SQL Server Management Studio.
После установки все, я пытался прикрепить файл MDF, но затем он говорит мне:
поиск в каталоге для файла "D: {имя_папки} {имя_файла} .LDF" завершился ошибкой операционной системы 21 (ошибка не найдена)
Файл LDF не поставляется с базой данных, поэтому, вероятно, он должен быть сгенерирован автоматически.
Теперь D-диск - это то место, где находится мой CD-привод, так что он там ничего не найдет. Не удастся создать что-то там.
Почему он пытается найти файл журнала по определенному пути? Почему не там, где находится файл базы данных?
Как я могу прикрепить эту базу данных?
Я понял, что когда я выбираю базу данных для присоединения, под «подробностями базы данных» появляются три записи. MDF, NDF и LDF. «Текущий путь к файлу» LDF указывает на путь диска D выше, поэтому я удалил его.
На этот раз, когда я нажимаю «ОК», я получаю другое сообщение об ошибке:
База данных не может быть обновлена, потому что она доступна только для чтения или имеет файлы только для чтения.
Сделайте базу данных или файлы доступными для записи и перезапустите восстановление.Ошибка активации файла. Физическое имя D: {папка} {файл} .LDF может быть неправильным.
Новый файл журнала "..." создан. (Microsoft SQL Server, ошибка: 3415)
Поэтому теперь он создает новый файл журнала в той же папке, что и файл базы данных, и это здорово, но, похоже, есть проблемы с безопасностью.
Дополнительная информация:
Инструкции требуют, чтобы я использовал логин "sa", который, похоже, является учетной записью sysadmin. Я подключен к своему экземпляру SQL Server, используя этот логин.
Я проверил свойства файла, что он не только для чтения. Каталог не только для чтения. Все ACL разрешены.
Я не могу прикрепить базу данных. Когда я пытаюсь присоединить его, он выдает сообщение об ошибке «прикрепить базу данных не удалось».
Закрытие SSMS и повторное открытие его в качестве администратора не имеет значения.
select SERVERPROPERTY('ProductVersion')
возвращает 9.00.4035.00. Есть еще один файл, который поставляется с базой данных «dbdata.ini», который говорит «IsSql2000 = 1», так что, предположительно, он предназначен для загрузки в SQL Server 2000. Я посмотрю, смогу ли я заставить его работать в 2000 году.
источник
LOG ON
с соответствиемldf
не решило проблему для меняЯ только что нашел пост, который ответил на этот вопрос:
Это может работать не во всех случаях, но я пытался установить базу данных семантического поиска и получил ту же ошибку.
Вы должны запустить SQL Server Management Studio от имени администратора, и это работает.
источник
источник
Щелкните правой кнопкой мыши
.mdf
и.ldf
файлы, по одному за раз , и нажмите кнопку «Свойства», а затем в нижней части, где он говорит , что «этот файл пришел с другого компьютера и может быть заблокирована , чтобы помочь защитить этот компьютер» нажмите кнопку разблокировки.Затем щелкните правой кнопкой мыши, -> свойства, -> вкладка «Безопасность» -> кнопку «Изменить», выберите «пользователи» и дайте полное разрешение на управление.
источник
В моем случае было разрешено входить в SSMS с режимом аутентификации Windows вместо пользователя sql, у которого есть роль sysadmin. просто убедитесь, что у пользователя, которого вы использовали в режиме аутентификации Windows, есть правильное разрешение (в моем случае это был sysadmin). Я полагаю, что у пользователя sql нет необходимых прав (я сталкиваюсь с этой проблемой при переносе / копировании mdf и ldf из разных машина)
источник
Не разрешения в нашем случае, это была версия SSMS!
(это был локальный 2012 год, где мы получили ошибку, но работали, когда мы использовали SSMS 17+ из удаленного блока)
источник
У меня также была эта проблема. Я помог своему клиенту, перезапустив службу SQL, и смог подключить MDF в соответствии с обычной процедурой.
источник
1) Откройте Sql Server Configuration Manager.
2) Выберите Sql Server Services (левая панель)
3) Дважды щелкните свой SqlServer (правая панель)
4) Выберите вкладку «Вход в систему».
5) Выберите встроенную кнопку-переключатель и измените локальную систему или сетевой сервис в выпадающем списке.
6) Нажмите Ok.
7) Прикрепите файл mdf в диспетчере сервера sql.
источник
Вероятно, ваша служба SQL Server работает под учетной записью NT Service \ MSSQLServer . Изменение его Локальная система даст ему доступ.
Вероятно, лучше всего создать пользователя и дать ему полные права на папку, в которой находятся файлы.
источник