Access denied for user что делать. Действия по воспроизведению проблемы. Методы решения ERR_NETWORK_ACCESS_DENIED

В ОС Windows очень часто случаются ошибки, даже в случае с «чистой» системой. Если обычные ошибки программ решить можно (появляется сообщение о недостающем компоненте), то исправить критические ошибки будет намного сложнее.

Что такое дамп памяти в Windows

Для решения проблем с системой обычно используют аварийный дамп памяти – это снимок части или полного объема оперативной памяти и помещение его на энергонезависимый носитель (жёсткий диск). Другими словами, содержимое оперативной памяти полностью или частично копируется на носитель, и пользователь может провести анализ дампа памяти.

Существует несколько видов дампов памяти:

Малый дамп (Small Memory Dump) – сохраняет минимальный объем ОЗУ, где находятся сведения по критическим ошибкам (BSoD) и компонентах, которые были загружены во время работы системы, например, драйвера, программы. MiniDump хранится по пути C:\Windows\Minidump.

Полный дамп (Complete Memory Dump) – сохраняется полный объем ОЗУ. Это значит, что размер файла будет равен объему оперативной памяти. Если места на диске мало, будет проблематично сохранить, например, 32 Гб. Также бывают проблемы с созданием файла дампа памяти более 4 Гб. Данный вид используется очень редко. Храниться по пути C:\Windows\MEMORY.DMP.

Дамп памяти ядра – сохраняется только информация, относящаяся к ядру системы.

Когда пользователь дойдет до анализа ошибки, ему достаточно использовать только minidamp (малый дамп). Но перед этим он обязательно должен быть включен, иначе распознать проблему не удастся. Также для более эффективного выявления аварии использование полного снимка памяти предпочтительней.

Информация в реестре

Если заглянуть в реестр Windows, то можно обнаружить некоторые полезные параметры снимков. Щелкаем сочетание клавиш Win+R, вводим команду regedit и открываем следующие ветки:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl

В данной ветке пользователь обнаружит следующие параметры:

  • AutoReboot – активация или отключение перезагрузки после создания синего экрана смерти (BSoD).
  • DumpFile – название видов дампов и расположение.
  • CrashDumpEnabled – номер создаваемого файла, например, число 0 – дамп не создается; 1 – создание полного дампа; 2 – создание дампа ядра; 3 – создание малого дампа.
  • DumpFilters – параметр позволяет добавить новые функции перед созданием снимка. Например, шифрование файла.
  • MinidumpDir – название малого дампа и его расположение.
  • LogEvent – активация записи сведений в системный журнал.
  • MinidumpsCount – задать количество создаваемых малых дампов. (Превышение этого количества будет уничтожать старые файлы и заменять их).
  • Overwrite – функция для полного дампа или системного. При создании нового снимка, предыдущий будет всегда заменяться на новый.
  • DedicatedDumpFile – создание альтернативного файла снимка и указание его пути.
  • IgnorePagefileSize – используется для временного расположения снимка, без использования файла подкачки.

Как это работает

При возникновении сбоя, система полностью останавливает свою работу и, если создание дампов активно, в файл, помещаемый на диск будет записана информация о возникшей проблеме . Если что-то случилось с физическими компонентами, то будет работать аварийный код, а железо, которое дало сбой будет вносить какие-либо изменения, что обязательно отразится в снимке.

Обычно файл сохраняется в выделенном для файла подкачки блоке жёсткого диска, после появления BSoD файл перезаписывается в тот вид, который пользователь сам и настроил (Малый, полный или дамп ядра). Хотя, в современных ОС участие файла подкачки не обязательно.

Как включить дампы

В Windows 7 :

В Windows 8 и 10 :

Здесь процесс немного похож, в сведения о системе можно попасть точно также, как в Windows 7. В «Десятке» обязательно открываем «Этот компьютер », нажимаем по свободному месту правой кнопочкой мышки и выбираем «Свойства ». По-другому туда можно попасть через Панель управления.

Второй вариант для Wi ndows 10 :


Следует заметить, что в новых версиях Windows 10 появились новые пункты, которых не было в «семерке»:

  • Малый дамп памяти 256 КБ – минимальные данные о сбое.
  • Активный дамп – появился в десятой версии системы и сохраняет только активную память компьютера, ядра системы и пользователя. Рекомендуется использовать на серверах.

Как удалить дамп

Достаточно зайти в каталог, где хранятся снимки памяти и попросту удалить их. Но есть и другой способ удаления – использование утилиты очистки диска:

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

Даже если вы когда-то включали их, некоторые используемые утилиты по оптимизации системы могут легко отключить некоторый функционал . Часто много чего отключается при использовании SSD накопителей, так как многократные процедуры чтения и записи сильно вредят здоровью данного диска.

Анализ дампа памяти при помощи WinDbg

Скачиваем с официального сайта Microsoft данную программу на шаге 2, где описана «Установка WDK » — https://docs.microsoft.com/en-us/windows-hardware/drivers/download-the-wdk .

Чтобы работать с программой еще понадобиться специальный пакет отладочных символов. Он называется Debugging Symbols , раньше его можно было скачать с сайта Microsoft, но теперь они отказались от этой идеи и придется использовать функцию программы File — «Symbol File Path », куда следует вписать следующую строчку и нажать ОК:

set _NT_SYMBOL_PATH=srv*DownstreamStore*https://msdl.microsoft.com/download/symbols

Если не сработало, пробуем вот эту команду:

SRV*%systemroot%\symbols*http://msdl.microsoft.com/download/symbols

Снова нажимаем пункт «File» и выбираем опцию «Save Workspace».

Утилита настроена. Остается указать путь до файлов дампов памяти. Для этого нажимаем File и щелкаем опцию «O pen Crash Dump ». Расположение всех дампов указано в начале статьи.

После выбора закончится анализ и проблемный компонент автоматически будет выделен. Для получения большего количества информации в этом же окошке можно ввести такую команду: !analyze –v

Анализ с помощью BlueScreenView

Загрузить инструмент бесплатно можно с этого сайта — http://www.nirsoft.net/utils/blue_screen_view.html . Установка не требует каких-то навыков. Используется только в Windows 7 и выше.

Запускаем и настраиваем. Нажмите «Настройки» (Options) – «Дополнительные параметры » (Advanced Options). Выберите первый пункт «Загружать МиниДампы из этой папки » и указываем каталог — C:\WINDOWS\Minidump . Хотя можно просто нажать кнопку «По умолчанию». Нажимаем ОК.

В главном окне должны появится файлы дампа. Он может быть, как один, так и несколько. Для его открытия достаточно нажать по нему мышкой.

В нижней части окна будут отображены компоненты, которые были задействованы на момент сбоя. Красным цветом будет выделен виновник аварии.

Теперь нажимаем «Файл» и выбираем, например, пункт «Найти в Go ogle код ошибки + драйвер ». Если нашли нужный драйвер, установите и перезагрузите компьютер. Возможно ошибка исчезнет.

Если не удается добиться, чтобы пароль работал, помните, что функция PASSWORD() должна использоваться, если вы задаете пароль с помощью операторов INSERT , UPDATE или SET PASSWORD . Если же вы задаете пароль с помощью оператора GRANT ... INDENTIFIED BY или команды mysql admin password , функция PASSWORD() не нужна. Обратитесь к разделу See Раздел 4.3.7, «Задание паролей» .

localhost - это синоним имени вашего локального хоста, и, если хост явно не задан, также устанавливаемое по умолчанию имя хоста, к которому клиенты пытаются подключиться. Однако подсоединения к localhost не действуют, если в вашей рабочей системе используются MIT-потоки и MySQL старше версии 3.23.27 (подсоединения к localhost осуществляются с использованием сокетов Unix, а они не поддерживались тогда технологией MIT-потоков). Чтобы в таких системах эта проблема не возникала, следует явным образом задать имя серверного хоста с помощью опции --host . Таким образом будет установлено подсоединение к серверу mysqld по протоколу TCP/IP. В этом случае в записях таблицы user , хранящейся на серверном хосте, должно быть указано реальное имя хоста. (Это справедливо даже для тех случаев, когда клиентская программа и сервер запускаются на одном хосте).

Если при попытке подсоединения к базе данных с помощью команды mysql -u user_name db_name возникает ошибка Access denied , причина этого, возможно, кроется в таблице user . Чтобы проверить это, выполните команду mysql -u root mysql и введите следующий SQL-оператор:

Mysql> SELECT * FROM user;

В результате будет выведена запись со столбцами Host и User , соответствующими имени вашего компьютера и вашему имени пользователя MySQL.

Сообщение об ошибке Access denied информирует вас о том, под каким именем вы пытаетесь войти в систему, об имени хоста, с которого вы пытаетесь установить соединение, и о том, использовали ли вы при этом пароль или нет. Как правило, в таблице user будет одна запись, точно соответствующая имени хоста и имени пользователя, указанным в сообщении об ошибке. Например, если вы получите сообщение об ошибке, в котором сказано Using password: NO , это означает, что вы пытались войти в систему, не указав пароль.

Если при попытке подсоединения не с того компьютера, на котором работает сервер MySQL, а с другого, вы получите сообщение об ошибке, приведенное ниже, то в таблице user отсутствует строка с таким именем хоста:

Host ... is not allowed to connect to this MySQL server

Чтобы исправить эту ошибку, с помощью утилиты командной строки mysql (на серверном хосте!) добавьте строку в таблицу user , db или host с комбинацией имени пользователя/хоста, соответствующей той, которую вы используете при попытке подсоединения. Затем выполните команду mysqladmin flush-privileges . Если вы используете MySQL версии, отличной от Version 3.22, и вам неизвестно имя хоста или IP-адрес компьютера, с которого вы подсоединяетесь, введите в таблицу user запись со значением "%" в поле Host и перезапустите mysqld на серверной машине с опцией --log . Когда соединение с клиентской машины будет установлено, вы найдете в журнале регистрации MySQL информацию об имени хоста, с которого вы подсоединились. (После этого следует заменить в записи таблицы user значение "%" настоящим именем хоста, из журнала регистрации. Иначе ваша система останется незащищенной.)

В Linux причиной такой ошибки может быть то, что бинарная версия MySQL скомпилирована с версией glibc, отличной от используемой вами. В этом случае нужно будет либо обновить ОС/glibc, используемые вами, либо загрузить исходный код MySQL и скомпилировать сервер самостоятельно. Как правило, исходный RPM компилируется и инсталлируется элементарно, так что это не составит серьезной проблемы.

Если будет выдано сообщение об ошибке, в котором имя хоста не указано вообще или указан IP-адрес, хотя вы при попытке подсоединения указывали имя хоста:

Shell> mysqladmin -u root -pxxxx -h some-hostname ver Access denied for user: "root@" (Using password: YES)

то это означает, что ошибка возникает при попытке MySQL сопоставить IP-адрес с именем хоста. В этом случае вы можете выполнить команду mysqladmin flush-hosts , чтобы сбросить внутреннюю кэш-память DNS. Обратитесь к разделу See Раздел 5.5.5, «Как MySQL использует DNS» . Вот некоторые способы решения этой проблемы:

  • Попробуйте выяснить, что не так с вашим сервером DNS, и устраните неисправность.

    Задайте IP-адреса вместо имен хостов таблицах привилегий MySQL.

    Запустите mysqld с опцией --skip-name-resolve .

    Запустите mysqld с опцией --skip-host-cache .

    Подключитесь к localhost если ваш сервер и клиент работают на одном и том же компьютере.

    Поместите имена клиентских машин в каталог /etc/hosts .

Если команда mysql -u root test работает успешно, а команда mysql -h your_hostname -u root tes t приводит к ошибке Access denied , то, возможно, в таблице user имя вашего хоста указано неверно. Одна из распространенных проблем здесь заключается в том, что в поле Host записи, хранящейся в таблице user , задается только имя хоста, в то время как процедуры разрешения имен, используемые вашей системой, возвращают полностью определенное доменное имя (или наоборот). Например, если в таблице user имеется запись со значением "tcx" в поле host , а DNS при этом сообщает MySQL, что имя хоста - "tcx.subnet.se" , эта запись действовать не будет. Попробуйте добавить в таблицу user запись, указав в колонке Host IP-адрес хоста. (В качестве альтернативы можно добавить в таблицу user запись со значением в поле Host , содержащим шаблонный символ, например "tcx.%" . Но использовать имена хостов, оканчивающиеся на "%" - небезопасно и делать это не рекомендуется!)

Если команда mysql -u user_name test работает успешно, а команда mysql -u user_name other_db_nam e - нет, то в таблице db нет записи, соответствующей other_db_name .

Если команда mysql -u user_name db_name выполняется успешно на том компьютере, где установлен сервер, а mysql -u host_name -u user_name db_name не работает при выполнении ее на другой клиентской машине, то в таблицах user или db эта клиентская машина не зарегистрирована.

Если не удается выяснить причину ошибки Access denied , удалите из таблицы user все записи, в которых значение в поле Host включает шаблонные символы (записи, содержащие символы " "%" " или " "_" "). Очень распространенной ошибкой является следующая: пользователь вставляет новую запись со значением "%" в поле Host и со значением "some user" - в поле User , полагая, что после этого для подсоединения с той же самой машины он сможет использовать localhost . Такой расчет неверен, и причина здесь в том, что устанавливаемые по умолчанию привилегии включают запись со значением "localhost" в поле Host и пустым полем User . И поскольку в этой записи значение "localhost" более конкретно, чем "%", то именно она при подсоединении с localhost предшествует новой записи и, соответственно, будет выбрана и сработает! Правильным в этом случае будет вставить вторую запись со значением "localhost" в поле Host и значением "some_user" - в поле User или удалить запись со значением "localhost" в поле Host и пустым полем User .

Если вы получите следующую ошибку, то эта проблема, возможно, связана с таблицей db или таблицей host:

Access to database denied

Если в записи, выбранной из таблицы db , столбец Host - пустой, удостоверьтесь, что в таблице host имеется по крайней мере одна соответствующая запись, указывающая, к каким хостам относится запись из таблицы db . Если ошибка возникает при выполнении SQL-команды SELECT ... INTO OUTFILE или LOAD DATA INFILE , то в вашей записи из таблицы user , вероятно, отсутствует разрешение на предоставление привилегии FILE .

Помните, что клиентские программы будут использовать параметры подсоединения, указанные файлах конфигурации или переменных окружения. Обратитесь к разделу See Приложение E, Переменные окружения . Если есть подозрение, что клиент отсылает неверные устанавливаемые по умолчанию параметры подсоединения, в случае, когда вы не задаете их в командной строке, проверьте ваше окружение и файл my.cnf в своей домашней директории. Можете также проверить конфигурационные файлы MySQL относящиеся ко все системе, хотя параметры клиентского подсоединения вряд ли указаны именно здесь. Обратитесь к разделу See . Если ошибка Access denied возникает при выполнении вашей клиентской программы без каких-либо опций, убедитесь, что ни в одном из ваших файлов опций не указан старый пароль! Обратитесь к разделу See Раздел 4.1.2, «Файлы параметров my.cnf » .

Если вы вносите изменения в таблицы привилегий непосредственно (с помощью операторов INSERT или UPDATE), а ваши изменения, похоже, игнорируются, то следует выдать оператор FLUSH PRIVILEGES или выполнить команду mysqladmin flush-privileges - для того, чтобы заставить сервер перечитать таблицы привилегий. В противном случае ваши изменения вступят в силу лишь при последующем перезапуске сервера. Помните, что после того, как вы зададите пароль от имени пользователя, вам нужно будет указывать его только после сброса привилегий, т.к. серверу еще не будет известно о том, что вы изменили пароль!

При возникновении проблемы с доступом при использовании Perl-, PHP-, Python- или ODBC-программ, попробуйте установить соединение с сервером при помощи команды mysql -u user_name db_name или команды mysql -u user_name -pyour_pass db_name . Если ваш клиент mysql обеспечивает подсоединение, то проблема связана не с привилегиями доступа, а с вашей программой. (Заметим, что между -p и паролем пробела нет; для задания пароля можно также использовать синтаксическую структуру --password=your_pass . Если вы используете только саму опцию -p , MySQL запросит у вас пароль)

При тестировании запускайте демон mysqld с опцией --skip-grant-tables . Тогда вы сможете изменять таблицы привилегий MySQL и с помощью скрипта mysqlaccess проверять, произвели ли сделанные вами изменения желаемый эффект. Если результаты вас устраивают, выполните команду mysqladmin flush-privileges , чтобы приказать серверу mysqld приступить к использованию новых таблиц привилегий. Внимание : перезагрузка таблиц привилегий отменяет опцию --skip-grant-tables . Это позволяет заставить сервер приступить к использованию новых таблиц привилегий без завершения его работы и перезагрузки.

Если ничего не помогает, запустите демон mysqld daemon с опцией отладки (например --debug=d,general,query). В результате будет выведена информация о неудачных подсоединениях, с указанием хоста и пользователя, а также обо всех обработанных командах. Обратитесь к разделу See Раздел D.1.2, «Создание трассировочных файлов» .

Если у вас имеется какая-либо проблема с таблицами привилегий MySQL и вы полагаете, что необходимо сообщить о ней в список рассылки, нужно обязательно приложить к своему отчету распечатку таблиц привилегий MySQL. Это можно сделать с помощью команды mysqldump mysql . Отчет о проблеме, как и в других случаях, отправляется с помощью скрипта mysqlbug . Обратитесь к разделу See Раздел 1.8.1.3, «Как отправлять отчеты об ошибках или проблемах» . В некоторых случаях для выполнения скрипта mysqldump возможно, потребуется перезапустить mysqld с опцией --skip-grant-tables .

При работе с системой MySQL могут возникнуть самые разные ошибки, и на этапе освоения программы разобраться с ними может быть сложно. Одна из наиболее распространенных проблем - ошибка 1045, которая сопровождается сообщением Access denied for user ‘root’@’localhost’ (Using password: YES и NO) . Сегодня я расскажу, как ее исправить.

Понять суть проблемы можно, переведя сообщение об ошибке на русский язык. Означает оно, что пользователю с именем root на машине localhost запрещен доступ к БД при использовании пароля или без него .

Ошибка 1045 возникает из-за запрета доступа к базе данных

Причины ошибки Access denied for user ‘root’@’localhost’

Чтобы свободно получить доступ в MySQL, должно совпасть три параметра, описывающих пользователя базы данных - имя, название машины и пароль . Если есть какие-то несовпадения, доступ будет запрещен. Самая простая причина проблемы - неправильный ввод пароля. Кроме этого, вызывать ошибку может неправильный синтаксис.

В системе MySQL нет простой зависимости имя пользователя – пароль, название хоста играет важную роль в получении доступа к БД. Оно может иметь вид IP-адреса, доменного имени, ключевого слова (например, localhost) или символа, объединяющего несколько машин в группу (например, % - любой хост, кроме локального).

Ошибка имеет ключ (Using password: NO) при входе в БД через браузер

Наиболее распространенные ошибки при обращении к БД:

  1. При присвоении прав новому пользователю не был указан адрес машины, с которой он может подключаться. В таком случае ему автоматически будет разрешено пользоваться БД с любого хоста, кроме локального, и при попытке подключения с localhost возникнет ошибка доступа.
  2. Неправильно расставленные кавычки. Если при создании пользователя написать ‘username@localhost’, это будет значить, что username@localhost может подключаться с любой машины, кроме локальной, а не что username может подключаться с компьютера localhost. Логин пользователя и имя машины должны иметь свою пару кавычек.
  3. Использование пароля при его отсутствии в базе данных.

В зависимости от того, при каком способе подключения к БД возникает ошибка Access denied for user ‘root’@’localhost’ (Using password: YES или NO), используются разные методы решения проблемы.

Как исправить ошибку 1045 в MySQL

Если ошибка Access denied for user ‘root’@’localhost’ (Using password: YES и NO) появляется с указанием Using password: YES, проблема заключается в неправильном вводе пароля. Проверить это можно, открыв таблицу mysql.user, в которой хранятся данные обо всех пользователях.

В таблице mysql.user хранятся данные для входа пользователей

Порядок действий таков:

  1. Откройте таблицу пользователей.
  2. Проверьте, существует ли пользователь root с хостом localhost. Если он есть, смотрите на поле «password». Если там пусто, зайти в базу можно без ввода пароля. Если там что-то есть, значит, вы вводите неправильный пароль.
  3. Смените пароль командой SET PASSWORD.
  4. Если пользователя root нет, создайте его, установите пароль и предоставьте ему права.

После этого в базу данных можно зайти. Если изменить данные не получается, следует использовать параметр —skip-grant-tables, который отменяет все настройки разрешений.

Строки, которые нужно изменить в файле конфигурации

Если ошибка появляется с ключом (Using password: NO), нужно сделать следующее изменить файл config.inc.php, указав в нем правильные данные. Если проблема возникает при установке MySQL, нужно удалить базы данных старой версии программы или сменить пароль для доступа к ним, используя режим —skip-grant-tables.

Таким образом, ошибка Access denied for user ‘root’@’localhost’ (Using password: YES или NO) возникает при несоответствии пароля и имени пользователя и легко исправляется заменой данных для входа.

Вконтакте

28 июля 2015 в 11:50

Дело о загадочном Access denied

  • Microsoft SQL Server

Утром в службу поддержки обратился один из разработчиков корпоративного приложения. Он не мог сделать копию с базы данных MS SQL Server, и просил выяснить причину ошибки.

Первое с чего стоит начать - проверить ошибку на воспроизводимость.
Попробуем снять копию командой:
BACKUP DATABASE TO DISK=N"\\FS1\Backup\sdb_full.bak" WITH COPY_ONLY

Что еще за COPY_ONLY?

WITH COPY_ONLY - очень полезный ключ. Он позволит не нарушить в системе резервного копирования последовательность дифференциальных копий

Действительно, попытка снять копию заканчивалась ошибкой:

Что может вызвать такую проблему?

SQL Server запускается от встроенной учетной записи «Network Service»

На всякий случай проверяем разрешение имени сервера FS1 по короткому имени и по FQDN. Оба имени разрешаются и, что важно, указывают на один и тот же сервер. Открываем сетевую папку, проверяем разрешения на NTFS и Share Permissions. Все в порядке, учетная запись сервера SQL1 имеет разрешение на запись.

Может быть проблемы с NTLM, Kerberos? Попробуем снять резервную копию, используя FQDN сервера.

BACKUP DATABASE TO DISK=N"\\FS1.contoso.test\Backup\sdb_full.bak" WITH COPY_ONLY

Интересно. С использованием FQDN резервная копия успешно создалась. Что это значит? Разве что ситуация стала еще более запутанной.

SQL Server перезапускать в рабочее время нельзя. Оставаться в ночь не хотелось бы.

Когда ничего непонятно, лучший друг администратора - Wireshark или Microsoft Network Monitor. Если снять хороший дамп, то можно или разобраться, или уж запутаться так запутаться.

Ставить на ответственный сервер Microsoft Network Monitor теоретически безопасное мероприятие, но жизнь так часто вносит коррективы в самые безопасные начинания.

Перезагружаться нельзя, ставить монитор нежелательно. Тогда воспользуемся службой Windows Event Tracing .

Включили трассировку:
netsh trace start persistent=yes capture=yes tracefile=c:\temp\trace.etl
Повторили команду резервного копирования несколько раз:
BACKUP DATABASE TO DISK=N"\\FS1\Backup\sdb_full.bak" WITH COPY_ONLY BACKUP DATABASE TO DISK=N"\\FS1\Backup\sdb_full.bak" WITH COPY_ONLY BACKUP DATABASE TO DISK=N"\\FS1\Backup\sdb_full.bak" WITH COPY_ONLY
Остановили трассировку:
netsh trace stop

Открываем файл в Microsoft Network Monitor на рабочей станции администратора:

Каждый раз при попытке снятия копии появляется событие KDC_ERR_PREAUTH_REQUIRED с загадочным пользователем DBAdmin. Это не учетная запись сотрудника, администратора, под ней не запускается SQL Server.
KDC_ERR_PREAUTH_REQUIRED означает, что учетные данные неверны.

Но резервное копирование выполняется в контексте службы «MS SQL Server», а она запущена под «Network Service». Причем здесь DBAdmin?

В Windows есть «Диспетчер учетных данных», он же «Credentials Manager», позволяющий сохранять учетные данные для различных сетевых ресурсов. Его можно вызвать командой «control userpasswords2» или «netplwiz»:

Давайте проверим, нет ли в контексте учетной записи компьютера «SQL1\Network Service» сохраненных альтернативных учетных данных для сервера FS1.

Для того, чтобы запустить процесс от имени другого пользователя, воспользуемся psexec.

Если запустить psexec с ключем "-s", мы попадем в контекст «Local System». Не подойдет.

Для того, чтобы попасть в контекст «Network Service» запускаем утилиту со следующими ключами:
psExec.exe -i -u “nt authority\network service” cmd.exe

Проверим, повторяется ли в контексте «Network Service» ошибка Access Denied при обращении к серверу FS1:

Ошибка воспроизводится.

Проверим сохраненные учетные данные. Запустить «control userpasswords2» без колдовства с Explorer не получится. Да и не надо, для работы с «Credentials Manager» из командной строки есть утилита cmdkey.exe.

Для того, чтобы вывести сохраненные учетные данные выполним команду:
cmdkey /list

Никаких сохраненных учетных данных не обнаружено. Еще интереснее.

Итак, что мы знаем на текущий момент:

  1. В контексте учетной записи компьютера «SQL1\Network Service» при обращении по протоколу SMB к серверу FS1 возвращается ошибка Access Denied
  2. При обращении к серверу по FQDN FS1.contoso.test ошибка не возвращается
  3. Обращение к серверу FS1 происходит с использованием учетной записи DBAdmin, которая нигде в явном виде не используется
  4. В контексте «SQL1\Network Service» в Credentials Manager учетные данные не сохранялись
Подождите, а ведь учетные данные можно сохранить не только в Credentials Manager, но и в памяти службы «Lanman Workstation» .

Если подключить диск с параметром /savecred, то учетные данные сохранятся в Credentials Manager:

Net use \\FS1\Backup /persistent:yes /savecred
Если опустить параметр /savecred, то учетные данные сохранятся в памяти службы до перезагрузки
net use \\FS1\Backup /persistent:yes /user:DBAdmin
Проверим нет ли у нас сохраненных подключений:
net use

Есть! Теперь понятно, почему при обращении к FS1 возвращалась ошибка, а к FS1.contoso.test - нет.

Удалим сохраненные подключения:

Net use * /delete

Проверяем резервное копирование:

Проблема решена.

А в чем же было дело? Причина ошибки весьма нетривиальна. Внутри корпоративного приложения от имени SQL Server был подключен сетевой диск под пользователем DBAdmin, который из-за ошибки в приложении не был в дальнейшем отключен. Спустя некоторое время у пользователя DBAdmin, вероятно сменился пароль, или сервер был перезагружен. И вот он, загадочный Access denied!

Какие для себя можно сделать выводы?

  1. Когда вы выполняете резервное копирование SQL Server, обращение к сетевым ресурсам производится от имени учетной записи службы SQL Server, а не от пользователя, запустившего команду BACKUP DATABASE. Следует помнить об этом, настраивая разрешения.
  2. Всегда снимайте дополнительные полные резервные копии с ключом WITH COPY_ONLY. SQL Server помечает страницы данных, измененные после полного резервного копирования, и в дифференциальную копию попадают только измененные страницы. Логично, что после каждого полного резервного копирования, состояние страниц очищается. Ключ позволяет не очищать отметку страниц, и последовательность не будет нарушена.
  3. В случае ошибки «Access denied» не лишним будет проверить, повторяется ли ошибка и по имени узла, по FQDN, по IP адресу.
  4. Вы можете попасть в контекст безопасности нужной учетной записи, запустив psexec с ключем -U.
  5. Для вывода учетных данных из службы хранения ключей используется утилита cmdkey.
  6. Для вывода сохраненных подключенных сетевых подключений используйте команду net use.

Спасибо за внимание.

ERR_NETWORK_ACCESS_DENIED — это очередная ошибка в Google Chrome, которая указывает на то, что не удалось зайти на запрашиваемый сайт, так как браузеру было отказано в доступе. Чаще всего, данная проблема возникает, когда какое-то программное обеспечение начинает блокировать создание сетевого подключения. Вспомните все недавно установленные приложения, так как именно они и могут производить блокировку.

Также это могло произойти в результате работы вашего антивирусного программного обеспечения или же фаервола, который начал блокировать определенные сетевые подключения. Так или иначе сейчас мы попытаемся исправить ошибку ERR_NETWORK_ACCESS_DENIED в Google Chrome.

Методы решения ERR_NETWORK_ACCESS_DENIED

Метод №1 Проверка работающего ПО на вашем компьютере

Попробуйте открыть нужные вам ресурсы с помощью какого-то иного браузера, например, Internet Explorer или Firefox. Если все открывается как надо, то что-то очевидно блокирует ваше сетевое подключение. Скорее всего, в ошибке ERR_NETWORK_ACCESS_DENIED виноват ваш Брандмауэр Windows.

Все что вам нужно сделать, так это пройти в настройки своего фаервола и посмотреть на правила сетевых подключений. Убедитесь, что там нет никаких настроек, которые бы были выставлены на блокировку вашего браузера.

Метод №2 Проверка сетевого соединения или роутера

Очередной причиной проблемы в виде ошибки ERR_NETWORK_ACCESS_DENIED может стать непосредственно неполадки с сетевым подключением или же с роутером, если вы используете таковой.

Порой в операционной системе могут происходить какие-то изменения, которые приводят к таким вот сложностям с соединением. Зайдите в настройки подключения и проверьте, стоят ли еще ваши прежние настройки.

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

Метод №3 Удаление профиля Google Chrome

Два предыдущие метода можно было считать больше за какие-то советы, что, отчасти, так и есть. В случае третьего метода, вам понадобиться удалить свой профиль для для браузера, так как именно он и может являться причиной ошибки ERR_NETWORK_ACCESS_DENIED в Google Chrome. Для этого сделайте следующее:

  • Нажмите Win+R для открытия окна «Выполнить».
  • Впишите в пустую строку %LOCALAPPDATA%\Google\Chrome\User Data\ или %USERPROFILE%\Local Settings\Application Data\Google\Chrome\User Data\ (если вы пользователь Windows XP).
  • Найдите папку под названием Default и переименуйте ее в папку default.old .

Если все дело заключалось в некорректных настройках вашего профиля, то это поможет исправить ошибку ERR_NETWORK_ACCESS_DENIED.




Top