Не удалось открыть физический файл sql
по какой-то странной причине у меня возникли проблемы с выполнением массовой вставки.
Я уверен после чтения этой что я правильно настроил свою роль пользователя, как говорится.
члены фиксированной роли сервера bulkadmin могут запускать инструкцию BULK INSERT.
я поставил Login Properties для проверки подлинности windows правильно (как показано ниже).. предоставление разрешений на уровне сервера bulkadmin
и команды EXEC sp_helpsrvrolemember 'bulkadmin' говорит мне, что информация выше была успешной, и текущий пользователь Michael-PCMichael и bulkadmin разрешения.
но даже если я все правильно настроил, насколько я знаю, я все еще получаю ошибку. выполнение массовой вставки непосредственно из SQL Студия Управления Сервером.
Msg 4861, Уровень 16, Состояние 1, Строка 2
Массовая загрузка невозможна, так как файл "C:UsersMichaelworkspacepydbdataandrew.из.txt " не удалось открыть. Код ошибки операционной системы 5(отказано в доступе.).
эта ошибка появляется при использовании проверки подлинности SQL Server и SQL Server не разрешен доступ к папке массовой загрузки.
таким образом, предоставление SQL server доступа к папке решит проблему.
вот как: Перейдите в папку щелкните правой кнопкой мыши - >свойства - > вкладка Безопасность - >изменить - >добавить (в новом окне) ->дополнительно -> найти сейчас. В списке пользователей в результатах поиска найдите что - то вроде SQLServerMSSQLUser$UserName$SQLExpress и нажмите ok, чтобы все диалоги открылись.
Я не думаю, что переустановка SQL Server исправит это, это просто убьет некоторое время.
- убедитесь, что ваша учетная запись пользователя имеет права на чтение в указанную папку.
- используйте такой инструмент, как Контролировать Процесс чтобы увидеть, что пользователь на самом деле пытается получить доступ к файлу.
Я предполагаю, что это не Michael-PC\Michael Это попытка получить доступ к файлу, а скорее к учетной записи службы SQL Server. Если это так, то у вас есть как минимум три варианта (но, возможно, и другие):
a. Установите службу SQL Server для запуска от вашего имени.
b. Предоставьте учетной записи службы SQL Server явный доступ к этой папке.
c. Поместите файлы в более логичное место, где SQL Server имеет доступ или может иметь доступ (например, C:\bulk\ ).
Я предлагаю эти вещи, предполагая, что это замкнутая локальная рабочая станция. Есть определенно более серьезные проблемы безопасности вокруг доступ к локальной файловой системе с SQL Server когда мы говорим о производственной машине, конечно, это все еще можно в значительной степени смягчить с помощью c. выше-и только предоставление учетной записи службы доступа к папкам, которые вы хотите, чтобы она могла коснуться.
попробуйте дать папку(ы), содержащую CSV и разрешение на чтение файла формата для пользователя "MSSQLSERVER" (или любого пользователя, для которого служба SQL Server установлена в Войдите В Систему на Службы Windows)
У меня была та же проблема SSIS 2012, и решение состояло в использовании проверки подлинности Windows. Я использовал проверку подлинности SQL с пользователем sa.
убедитесь, что файл, который вы используете ( 'C:\Users\Michael\workspace\pydb\data\andrew.out.txt' ) находится на компьютере SQL server, а не на клиентском компьютере с MSSMS.
1) Открыть SQL 2) в Диспетчере задач вы можете проверить, на какой учетной записи запущен SQL - это, вероятно, не Michael-PC\Michael, как писал Ян.
учетная запись, которая запускает SQL, нуждается в доступе к общей папке.
Рекомендуемые действия
Определите причину, исправьте ошибку операционной системы, затем еще раз попытайтесь выполнить операцию. Есть несколько состояний, сведения о которых могут помочь корпорации Майкрософт уменьшить область изучения для определения ошибки.
Подключение файлов, размещенных в запоминающем устройстве, подключаемом к сети
Msg 5120, Level 16, State 101, Line 1 Unable to open the physical file "\\servername\sharename\filename.mdf". Operating system error 5: (Access is denied.).
Эта проблема возникает из-за того, что SQL Server сбрасывает разрешения файлов при отключении базы данных. При попытке повторно подключить базу данных происходит сбой из-за ограниченных разрешений общего доступа.
Чтобы устранить эту проблему, сделайте следующее.
Используйте параметр запуска -T для запуска SQL Server. Используйте этот параметр запуска, чтобы включить флаг трассировки 1802 в диспетчере конфигурации SQL Server (сведения о 1802 см. в разделе Флаги трассировки). Дополнительные сведения об изменении параметров запуска см. в разделе Параметры запуска службы ядра СУБД.
Отключить базу данных можно с помощью приведенной ниже команды.
Восстановить подключение базы данных можно с помощью приведенной ниже команды.
Я хочу восстановить базу данных из файла (задачи->восстановить->база данных; после выбора из устройства и выберите файл) через SQL server management studio.
после этого, я получаю эту ошибку:
операционная система вернула ошибку ' 5(Доступ запрещен.) при попытке 'RestoreContainer:: ValidateTargetForCreation' on 'E:Program файлыMicrosoft SQL Иметь значение mssql10 сервер.ИМЯ MSSQLSERVERMSSQL ДАННЫХДАННЫЕХХХХХХ.МДФ". Msg 3156, Уровень 16, Состояние 8, сервер XXXX, Строка 2
учетная запись, под которой работает sql server, не имеет доступа к местоположению, в котором находится файл резервной копии, или пытается восстановить базу данных. Вы можете использовать диспетчер конфигурации SQL Server найти, какая учетная запись используется для запуска экземпляра SQL Server, а затем убедитесь, что учетная запись имеет полный контроль над .Файл BAK и папка, в которую будет восстановлен MDF.
У меня недавно была эта проблема. Исправление для меня состояло в том, чтобы перейти на страницу файлов диалогового окна восстановления базы данных и проверить "переместить все файлы в папку".
Ну, в моем случае решение было довольно простым и прямым.
мне пришлось изменить только значение log On As значение.
действия разрешения-
- открыть Sql Server Configuration manager
- право click on SQL Server (MSSQLSERVER )
- на Properties
надеюсь, что это поможет вам тоже:)
Я нашел это, и это сработало для меня:
Если вы присоединяете базу данных, посмотрите на сетку "базы данных для присоединения" и, в частности, в столбце владелец после того, как вы указали свой .файл mdf. Обратите внимание на учетную запись и дайте ей полные разрешения для файлов mdf и ldf.
Я попробовал приведенный выше сценарий и получил ту же ошибку 5 (доступ запрещен). Я глубоко нырнул и обнаружил, что файл .бак должен иметь доступ к учетной записи службы SQL. Если вы не уверены, введите services.msc в меню Пуск - > Выполнить, затем проверьте учетную запись входа в службу SQL.
затем перейдите к файлу, щелкните правой кнопкой мыши и выберите вкладку Безопасность в свойствах, затем отредактируйте, чтобы добавить нового пользователя.
наконец, затем дать полное разрешение на него, чтобы дать полный доступ.
затем из SSMS попробуйте восстановить резервную копию.
Я получал ту же ошибку при попытке восстановить SQL 2008 R2 backup db в SQL 2012 DB. Я предполагаю, что ошибка связана с недостаточными разрешениями для размещения .MDF и. файлы ldf на диске C. Я попробовал одну простую вещь, затем мне удалось успешно восстановить ее.
в окне мастера восстановления БД перейдите на вкладку файлы, измените назначение восстановления С C: на другой диск. Затем продолжайте обычный процесс восстановления. Он обязательно получит восстанавливается успешно!
надеюсь, это вам тоже поможет. Ура :)
в моем случае мне пришлось поставить галочку в Overwrite the existing database (WITH REPLACE) под Options tab on Restore Database страница.
надеюсь, это поможет кому-то.
У меня была точно такая же проблема, но мое исправление было другим - моя компания шифрует все файлы на моих машинах. После расшифровки файла MSSQL не возникло никаких проблем с доступом и создана БД. Просто щелкните правой кнопкой мыши .файл bak ->свойства ->дополнительно. ->шифровать содержимое для защиты данных.
Это случилось со мной ранее сегодня, я был членом группы администратора локального сервера и имел беспрепятственный доступ, или я так думал. Я также отметил опцию "заменить", хотя в экземпляре нет такой БД.
выяснил, что раньше там была БД с тем же именем, а файлы MDF и LDF по-прежнему физически расположены в папках данных и журналов сервера, но фактические метаданные отсутствуют в sys.база данных. учетная запись службы SQL server также не может ovewrwrite существующие файлы. Узнал также, что владелец файлов "неизвестен", мне пришлось сменить владельца на 2 файла выше, чтобы теперь он принадлежал группе администраторов локального сервера, а затем переименовал его.
затем, наконец, это сработало.
Я получил эту ошибку, потому что я проверил "перераспределить все файлы в папку" на вкладке "файлы" окна "восстановить базу данных", но путь по умолчанию не существовал на моей локальной машине. У меня были файлы ldf/mdf в другой папке, как только я изменил, что я смог восстановить.
Ну, это я сделал ниже, чтобы получить ошибку, не имею понятия, почему соединение с базой данных не удается.
Добавить новый *.база данных mdf в App_Data
добавьте к нему несколько таблиц с помощью обозревателя серверов в Visual Studio
щелкните правой кнопкой мыши базу данных и скопируйте строку подключения. Вставьте его в файл WebConfig, например ниже
добавьте код, чтобы получить данные из
и zoot вы получаете ошибку
У меня есть подозрение, что это связано с разрешениями. Дайте полный контроль вашим "аутентифицированным пользователям".
в случае, если вам интересно как это сделать --- я на Windows 7 и шаги идут так:
- щелкните правой кнопкой мыши файл MDF и выберите Свойства.
- выберите вкладку "Безопасность" и выберите "аутентифицированные пользователи" (или то, что выглядит правильно).
- нажмите "Изменить" и установите флажок " Разрешить "для" полный Контроль."
- ОК все.
на лучший результат С Google Кажется, адресует ваш вопрос:
на всякий случай, если кто-то еще ищет решение этой ошибки, это работает для меня:
1) Откройте проект VStudio, для которого вам нужно подключиться к базе данных SQL
2)Отдельно идут Пуск - >Выполнить - >Службы.msc
3) искать Служба SQL Server (SQLEXPRESS) и Остановить его
4) начать опять
5) попробовать подключение базы данных сейчас.
похоже, что причина его работ что-то связанное с экземпляром User обсуждение, которое происходит в этом нитка.
Я боролся с этой ошибкой, и я обнаружил, что ошибка была в экземпляре базы данных, который был в сети, поэтому я взял его в автономном режиме из SQLServer management studio, я поделился следующими шагами и решением здесь
в моем случае у меня была база данных в экземпляре MSSQLSERVER при попытке прикрепить ее к SQLEXPRESS. Удаление из первого экземпляра освободило файл.
об ошибке: ошибка операционной системы 32, Открытая ошибка .
прежде всего, дайте разрешение на файл mdf. В моем случае учетная запись сетевого сервиса имеет полный доступ на данные.МДФ.
Ну, мое рабочее пространство:
- SSMS имеют прикрепленные данные.МДФ
- в то же время в VS2010 у меня есть открытое решение с тем же файлом базы данных: данные.МДФ, но не может успешно подключиться.
решение: в CONNECTION PROPERTIES on USER INSTANCE изменить TRUE to FALSE и обновить соединение внутри VS в этой базе данных. Наконец, больше нет ошибки открытия, и у вас есть доступ к тому же файлу базы данных в то же время из SSMS и VS2010.
Приносим извинения. Запрошенное содержимое было удалено. Вы будете автоматически перенаправлены через 1 секунду.
Лучший отвечающий
Доступ запрещен
В случае возникновения ошибки операционной системы 5 ( Access is Denied ), рассмотрите следующие методы устранения:
Проверьте учетную запись пользователя, от имени которой сейчас запущена служба SQL Server. Для получения этих сведений можно использовать диспетчер задач Windows. Найдите значение "Имя пользователя" для исполняемого файла "sqlservr.exe". Если вы недавно изменили учетную запись службы SQL Server, поддерживаемым способом выполнения этой операции является использование служебной программы Диспетчер конфигурации SQL Server.
В зависимости от типа операции — открытие баз данных во время запуска сервера, присоединение базы данных, восстановление базы данных и т. д. — учетная запись, используемая для олицетворения и получения доступа к файлу базы данных, может варьироваться. Сведения о том, какая операция позволяет задавать разрешения к каким учетным записям, см. в статье Защита данных и файлов журналов. Используйте такие средства, как Process Monitor, чтобы узнать, каким образом предоставляется доступ к файлу: в контексте безопасности учетной записи запуска службы экземпляра SQL Server (или идентификатора безопасности службы) либо олицетворенной учетной записи.
Если SQL Server олицетворяет учетные данные для входа пользователя, выполняющего операцию ALTER DATABASE или CREATE DATABASE, в средстве Process Monitor отобразятся, например, следующие сведения.
Ответы
Попробуйте снять с файла все разрешения (ну или дать учетной записи, под которой запущен MS SQL разрешения на оба файла), также снимите все атрибуты, а вот потом попробуйте подключить.
Ну а если не поможет, то да, backup и restore.
Вопрос
Вообщем, совершил глупость. Вместо отсоединения базы данных, удалил ее. Вернее, не ту удалил. Была копия базы, сделанная простым копированием. Так вот ее присоединить не удалось. Пишет "ошибка операционной системы 5:"(Отказано в доступе"). (Microsoft Sql Server, ошибка 5120). У меня WINDOWS 7 Как выйти из ситуации?
Все ответы
Присоединить вот ту копию, сделанную обычным копированием. Я уже стянул такую же базу с сервера. Тоже сделал обычным копированием, потому что испугался, что повторится история. Но ошибка прежняя даже на стопроцентно рабочей базе
Решение в лоб не прокатит. Чтобы присоединить базу, она должна сначала быть отсоединена. Делайте бэкап, скрипта или файла, а потом восстанавливайте.
Попробуйте снять с файла все разрешения (ну или дать учетной записи, под которой запущен MS SQL разрешения на оба файла), также снимите все атрибуты, а вот потом попробуйте подключить.
Ну а если не поможет, то да, backup и restore.
Ну для этого, мы все здесь и собираемся, чтобы помогать. Обращайтесь.
Смотрите на те ошибки, которые вы получаете, часто в самой ошибке содержится ее решение.
Центры разработки
Обучение
Сообщество
Свяжитесь с нами
Программы
© 2022 Microsoft
Читайте также: