Внутрення ошибка интерфейса доступа к базе данных
Модераторы: m0p3e, edward_K, Модераторы
Внутрення ошибка интерфейса доступа к базе данных
Версия 8.10 MS SQL
Периодически возникает следующая ошибка:
Внутрення ошибка интерфейса доступа к базе данных.
Подробности в ms70drv.log таблица № 67
Вроде особо не мешает, но не могу найти причину.
Подскажите пожалуйста
- maikl
- Местный житель
- Сообщения: 1503
- Зарегистрирован: Вт мар 29, 2005 17:49
- Откуда: Тверь
- Reputation point: 1

Re: Внутрення ошибка интерфейса доступа к базе данных
n0where » Ср июл 06, 2011 13:10
Это был риторический вопрос или как?
Подробности в ms70drv.log таблица № 67
хороший программист — это человек, который переходя улицу с односторонним движением смотрит в обе стороны
- n0where
- Местный житель
- Сообщения: 499
- Зарегистрирован: Чт дек 30, 2010 09:16
- Reputation point: 11

Re: Внутрення ошибка интерфейса доступа к базе данных
maikl » Ср июл 06, 2011 16:36
Не риторический.
- maikl
- Местный житель
- Сообщения: 1503
- Зарегистрирован: Вт мар 29, 2005 17:49
- Откуда: Тверь
- Reputation point: 1

Re: Внутрення ошибка интерфейса доступа к базе данных
maikl » Пт июл 08, 2011 09:56
Так что, такой ошибки ни у кого не возникает?
- maikl
- Местный житель
- Сообщения: 1503
- Зарегистрирован: Вт мар 29, 2005 17:49
- Откуда: Тверь
- Reputation point: 1

Re: Внутрення ошибка интерфейса доступа к базе данных
m0p3e » Пт июл 08, 2011 10:43
Подробности в ms70drv.log таблица № 67
А что в логе то?
- m0p3e
- Местный житель
- Сообщения: 1384
- Зарегистрирован: Вт мар 29, 2005 17:49
- Откуда: Москва
- Reputation point: 97

Re: Внутрення ошибка интерфейса доступа к базе данных
Прохожий » Вт июл 12, 2011 06:35
Похожая фигня, только ругается на 1122 таблицу и в логе ничего нет. Помогает пересчет прав юзеру.
Галактика 8.10, Oracle 10g patch 10.2.0.4
- Прохожий
- Постоянный обитатель
- Сообщения: 134
- Зарегистрирован: Пт мар 23, 2007 06:38
- Откуда: Дальний Восток, Хабаровск
- Reputation point: 0

-
- ICQ
Вернуться в Администрирование
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2
Ниже приведены некоторые сообщения, которые могут
выдаваться в процессе эксплуатации системы .
Peгиcтpaция кoмпoнeнтoв нe coвпaдaeт c
инcтaлляциeй!
Пpepвaть выпoлнeниe пpилoжeния?
Сообщение при запуске программы.
Способ решения
При ответе [Да] будет
выполнено завершение работы системы, а при ответе [Нет] работа будет продолжена. При появлении данного
сообщения необходимо выяснить причины несоответствия системы
репозитарию и выполнить операцию синхронизации. Синхронизация
репозитария базы данных и системы выполняется с помощью программы
.
Отключить данный контроль на старте приложения
можно с помощью параметра конфигурационного файла DataBase.CheckRepository, установив ему значение
Off.
Heвoзмoжнo пpиcoeдинитьcя к cepвepy БД.
Пoдpoбнocти в ms70drv.log !
Oшибкa coeдинeния c БД !
Oшибкa oткpытия cлoвapя бaзы дaнныx. [345]
Сообщения при запуске программы.
Способ решения
Устранить следующие возможные причины выдачи
сообщений:
1) Неправильно задано значение параметра файла
конфигурации DataBase.DataBasename.
2) Неправильно задано значение параметра файла
конфигурации SQLDriver.SQLServer.
3) Не стартована вспомогательная служба Галактики
napsrv.exe.
Bы нe oблaдaeтe пpaвaми для paбoты c выбpaннoй
бaзoй дaнныx
Сообщение при запуске программы.
Способ решения
Устранить следующие возможные причины выдачи
сообщений:
1) На рабочей станции или сервере приложений не
задан источник данных ODBC
2) На MS SQL Server для данного пользователя
определена другая база данных по умолчанию (user default database)
или другой пароль.
Oшибкa oткpытия (coздaния) кoмпoнeнтa
<путь>Atlantis_<имя пользователя>.res
Пpoцecc нe мoжeт пoлyчить дocтyп к фaйлy, тaк
кaк этoт фaйл зaнят дpyгим пpoцeccoм
Oшибкa oткpытия (coздaния) кoмпoнeнтa
<путь><имя пользователя>.crf
Пpoцecc нe мoжeт пoлyчить дocтyп к фaйлy, тaк
кaк этoт фaйл зaнят дpyгим пpoцeccoм
Oшибкa coздaния фaйлa нacтpoйки нa кoнкpeтнoгo
пoльзoвaтeля
Oшибкa в фaйлe <путь>galnet.dsk (Пpoцecc
нe мoжeт пoлyчить дocтyп к фaйлy, тaк кaк этoт фaйл зaнят дpyгим
пpoцeccoм)
Сообщения при запуске программы. Сообщения выдаются
в том случае, если выполняется повторный запуск системы из
каталога, из которого она уже была запущена и работает от имени
того же пользователя.
Способ решения
При таком запуске функциональность системы будет
несколько ограничена. Например, не будет сохраняться результат
конфигурации, не будут считываться настройки из dsk-файла и т.д.
Для исключения подобной ситуации нужно
административно запретить запуск второй копии системы. Для этого
необходимо в репозитарии базы данных системному рабочему ресурсу
(компонент Internal) или рабочему
конфигурационному ресурсу (компонент ConfWork) установить высшую критичность. Данная
операция выполняется в модуле инструментального комплекса .
В этом случае при повторном старте приложения будут
выданы сообщения о невозможности работы без указанных ресурсов и
вторая копия приложения не запустится.
The solutions on this page can be applied to resolve 5123 error with access denied or database attach failure in MS SQL Server 2014/2012/2008 R2/2005.
When you try to attach a database in SQL Server, but get an error message, reporting that «Microsoft SQL Server, Error: 5123» as the image shown below:

You will not be able to access the SQL Server database. Check the list of reasons that cause SQL error 5123, and if you find that your problem matches the listed reasons, read on to find the solution and fix this error:
- Database Attach Failure: Attaching and detaching database data file with several different logins.
- Access Denied: Attach a database which is placed on a different location and doesn’t have sufficient privileges to the folder directory or no proper permission to run the program folder.
Although, many experienced administrators know how to resolve the 5123 error in SQL Server. It’s still necessary to know better and more effective methods to fix and repair more SQL Server database problems. Read on, and learn how to fix SQL Server 5123 error on your own.
Manual workaround to fix MS SQL Server 5123 error
By following the below manual steps, you’ll be able to resolve the Microsoft SQL Server error 5123 quickly:
- Step 1: Run SQL Server and right-click on the MDF or NDF file that you wish to attack.
- Step 2: Select «Properties» to check the permission of .mdf or .ndf file.
- Step 3: Click the «Add» button to grant the login permission and gain full control during the login process.
Also, you can attempt «Run as Administrator» to gain permission instead of granting permission to a new user.
Recommended tools to resolve SQL Server 5123 error
If you are using MS SQL Server Management Studio (SSMS) or Transaction SQL Server (T-SQL) to configure and manage the SQL Server, you can use these two tools to resolve the 5123 error.
Also, you can turn to a third party MS SQL Recovery tool for help.
Use SSMS to fix SQL 5123 error
- Step 1: Log in to SSMS: use valid domain credentials and Windows Authentication to log in.
- Step 2: Click on «Object Explorer», select «Database».
- Step 3: Right-click on the database that you are trying to attach, and select «Attach».
- Step 4: Click «Add» when a new attach database dialog box appears.
- Step 5: Select the database, confirm the MDF and LDF files are running alright. And click «OK» to finish.
Then, you can view all attached database files in MS SQL Server again.
If the program reminds you that the MDF file is corrupted, relax, follow the link here and apply EaseUS MS SQL recovery tool to repair corrupted MDF file immediately.
Use T-SQL to resolve MS SQL 5123 error
Transaction SQL Server with its sp_attach_db stored procedure can help you easily attach all desired databases in SQL.
Here are the detail process of attaching SQL Server databse:
- sp_attach_db
- [@dbname=] ‘dbname’
- ,[@filename1=] ‘filename_n’ [ ,…16 ]
- [@dbname=] – Refers to the name of the database to be attached to the server.
- [@filename1=] – ‘filename_n’ Is the physical name, including path, of a database file

Use SQL Server recovery tool to solve MS SQL error 5123
If the above-provided methods don’t work efficiently to resolve the 5123 attach database error in SQL, you can go for a reliable SQL Server recovery tool for help. It helps you to repair corrupted MFD and NDF file in SQL Server and some other complex database corruption issues. This software enables any user to operate SQL Server repair with its clear and self-explanatory interface.
Note: Mostly, EaseUS SQL Server Recovery can always work to fix this issue. But if it fails in a rare case, you can turn to Microsoft customer support team for help.
Step 1. Run EaseUS MS SQL Recovery.
Step 2. Select the MDF/NDF file: Click «Browse» or «Search” to navigate the location of your MDF or NDF file > Click «Repair».

Step 3. Select the database objects you want to recover: When the process has completed, select the database objects you want to recover and click «Export».

Step 4. Export the database to the database or export the selected items as SQL scripts. If you choose «Export to database», you will need to enter the required information and select the destination database, either a new one or an existing one.

Hence, we would like to recommend you always to keep this software handy. In addition to solving this error, EaseUS SQL Server Recovery can be used to rectify other SQL database problems too:
- Resolve SQL Database corruption with 823/824/825 error
- Recover deleted SQL records
- Repair MDF/NDF file
- Recover ROW and PAGE compressed data
- Free to preview the repaired database before activation
- Save the repaired file in MS SQL (MDF), HTML, XLS & CSV formats
- Support transferring the license to another system (one key for three systems)
The solutions on this page can be applied to resolve 5123 error with access denied or database attach failure in MS SQL Server 2014/2012/2008 R2/2005.
When you try to attach a database in SQL Server, but get an error message, reporting that «Microsoft SQL Server, Error: 5123» as the image shown below:

You will not be able to access the SQL Server database. Check the list of reasons that cause SQL error 5123, and if you find that your problem matches the listed reasons, read on to find the solution and fix this error:
- Database Attach Failure: Attaching and detaching database data file with several different logins.
- Access Denied: Attach a database which is placed on a different location and doesn’t have sufficient privileges to the folder directory or no proper permission to run the program folder.
Although, many experienced administrators know how to resolve the 5123 error in SQL Server. It’s still necessary to know better and more effective methods to fix and repair more SQL Server database problems. Read on, and learn how to fix SQL Server 5123 error on your own.
Manual workaround to fix MS SQL Server 5123 error
By following the below manual steps, you’ll be able to resolve the Microsoft SQL Server error 5123 quickly:
- Step 1: Run SQL Server and right-click on the MDF or NDF file that you wish to attack.
- Step 2: Select «Properties» to check the permission of .mdf or .ndf file.
- Step 3: Click the «Add» button to grant the login permission and gain full control during the login process.
Also, you can attempt «Run as Administrator» to gain permission instead of granting permission to a new user.
Recommended tools to resolve SQL Server 5123 error
If you are using MS SQL Server Management Studio (SSMS) or Transaction SQL Server (T-SQL) to configure and manage the SQL Server, you can use these two tools to resolve the 5123 error.
Also, you can turn to a third party MS SQL Recovery tool for help.
Use SSMS to fix SQL 5123 error
- Step 1: Log in to SSMS: use valid domain credentials and Windows Authentication to log in.
- Step 2: Click on «Object Explorer», select «Database».
- Step 3: Right-click on the database that you are trying to attach, and select «Attach».
- Step 4: Click «Add» when a new attach database dialog box appears.
- Step 5: Select the database, confirm the MDF and LDF files are running alright. And click «OK» to finish.
Then, you can view all attached database files in MS SQL Server again.
If the program reminds you that the MDF file is corrupted, relax, follow the link here and apply EaseUS MS SQL recovery tool to repair corrupted MDF file immediately.
Use T-SQL to resolve MS SQL 5123 error
Transaction SQL Server with its sp_attach_db stored procedure can help you easily attach all desired databases in SQL.
Here are the detail process of attaching SQL Server databse:
- sp_attach_db
- [@dbname=] ‘dbname’
- ,[@filename1=] ‘filename_n’ [ ,…16 ]
- [@dbname=] – Refers to the name of the database to be attached to the server.
- [@filename1=] – ‘filename_n’ Is the physical name, including path, of a database file

Use SQL Server recovery tool to solve MS SQL error 5123
If the above-provided methods don’t work efficiently to resolve the 5123 attach database error in SQL, you can go for a reliable SQL Server recovery tool for help. It helps you to repair corrupted MFD and NDF file in SQL Server and some other complex database corruption issues. This software enables any user to operate SQL Server repair with its clear and self-explanatory interface.
Note: Mostly, EaseUS SQL Server Recovery can always work to fix this issue. But if it fails in a rare case, you can turn to Microsoft customer support team for help.
Step 1. Run EaseUS MS SQL Recovery.
Step 2. Select the MDF/NDF file: Click «Browse» or «Search” to navigate the location of your MDF or NDF file > Click «Repair».

Step 3. Select the database objects you want to recover: When the process has completed, select the database objects you want to recover and click «Export».

Step 4. Export the database to the database or export the selected items as SQL scripts. If you choose «Export to database», you will need to enter the required information and select the destination database, either a new one or an existing one.

Hence, we would like to recommend you always to keep this software handy. In addition to solving this error, EaseUS SQL Server Recovery can be used to rectify other SQL database problems too:
- Resolve SQL Database corruption with 823/824/825 error
- Recover deleted SQL records
- Repair MDF/NDF file
- Recover ROW and PAGE compressed data
- Free to preview the repaired database before activation
- Save the repaired file in MS SQL (MDF), HTML, XLS & CSV formats
- Support transferring the license to another system (one key for three systems)
Здравствуйте!
Сегодняшняя заметка будет касаться только достаточно «узкой» категории читателей блога — речь пойдет о базах данных MySQL (и ошибках, при работе с ними…).
Вообще, подобные базы данных используются многими движками сайтов (CMS), причем некоторые из них не блещут высокой безопасностью… Кроме этого, к базе MySQL возможен прямой доступ через веб-интерфейс. А если добавить к этому ошибки при копировании и переносе БД (что бывает очень часто), то, разумеется, всё это вкупе создает определенные риски для данных… 😢
Собственно, ниже рассмотрим, что можно сделать, если появилась-таки ошибка, что база данных недоступна (или не может быть прочитана, или…). Заранее скажу, что подобные ошибки далеко не всегда означает полную утрату БД, во многих случаях удается сравнительно-легко восстановить работоспособность сайта (интернет-магазина, и пр.).
И так…
*
Несколько рекомендаций, если возникла ошибка с MySQL БД
👉 Совет 1
Если вы накануне никак не взаимодействовали с БД (например, не переносили сайт с одного сервера на другой), и всё работало в штатном режиме — возможно, что ошибка недоступности к базе связана с возникшими проблемами на стороне хостинг-компании (⇒ запрос в поддержку…).
Кроме этого, обратите внимание на конфигурационные файлы CMS, отвечающие за доступ к базе данных. Возможно, что с самой БД всё в порядке, а вот путь (или пароль) для доступа к ней указан некорректно…
Например, в такой популярной CMS как WordPress, файлом для настройки доступа к БД явл. wp-config.php.

Параметры MySQL — эту информацию можно получить у хостинг-провайдера
*
👉 Совет 2
Еще одна довольно очевидная рекомендация — проверить наличие бэкапа (резервной копии). Даже если вы самостоятельно не делали его — возможно его сделал хостинг-провайдер.
Кроме этого, как только возникла какая-то ошибка с БД — я бы порекомендовал в любом случае сделать ее копию (если это возможно). Вдруг диск начал «сыпаться», и в дальнейшем даже текущая БД исчезнет «на совсем»…

PHP My Admin — экспорт базы данных
*
👉 Совет 3
Далее следует попробовать провести восстановление БД встроенными средствами MySQL…
Итак, что нужно сделать в случае, если БД MySQL перестала запускаться:
- Откройте файл my.cnf и установите следующий параметр: innodb_force_recovery = 1;
- Перезапустите MySQL следующей командой: /etc/init.d/mysql restart;
- Сделайте дамп БД и запакуйте его: mysqldump db | gzip > db.sql.gz;
- Создайте новую БД: mysql -e create database “new_DB«;
- Импортируйте туда данные: zcat database.sql.gz | mysql new_DB.
***
👉 Примечание!
my.cnf — это файл конфигурации MySQL. Чтобы найти файл, используйте команду: locate my.cnf
В Linux’e обычно он находится по такому пути:
/etc/my.cnf
# либо
/etc/mysql/my.cnf
***
Перезапуск MySQL подобным образом не ведет к запуску всех связанных процессов и в некоторых случаях позволяет открыть старую БД.
С помощью указанных команд мы пробуем создать дамп БД, затем импортировать его в новую базу, которую далее можно будет открыть обычным способом.
Если это получается, старую БД можно удалить. Кстати, если способ не помогает, и старая база не запускается, нужно пробовать другие значения параметра innodb_force_recovery, вплоть до 6.

MySQL
При нормальном запуске БД система пытается запустить все процессы, включая и те, которые были завершены аварийно (например, из-за проблем с электричеством).
Благодаря опции innodb_force_recovery можно отключить некоторые параметры, которые мешают штатному запуску БД.
Цифры означают следующее:
- Запуск MySQL не останавливается, даже если система в процессе запуска обнаруживает поврежденные страницы;
- Отмена запуска фоновых операций;
- Отмена попыток отката транзакций;
- Отказ от расчета статистики и использования сохраненных изменений;
- Не учитывает логи отката при запуске;
- Не учитывает параметры ib_logfiles во время запуска.
*
👉 Совет 4 (альтернативный способ восстановления БД)
Описанный выше способ довольно эффективен, хотя, к сожалению, может оказаться сложным для некоторых пользователей. Но работа с любым форматом базы данных — это всегда непросто…
Если нет желания редактировать конфиги, открывать командную строку и изучать синтаксис нужных команд, то нужен достаточно простой и дружелюбный в использовании инструмент, например, такой как Recovery Toolbox for MySQL. (👇)

Recovery Toolbox for MySQL — скриншот главного окна программы
Пожалуй, это самый простой и эффективный способ восстановления БД MySQL, именно то, что нужно большинству начинающих пользователей. 👌
Вариантов, собственно, немного — разобраться со всем самому, потратив несколько дней, или в течение часа восстановить базу данных, продолжить работу и избежать убытков.
Стоит сразу отметить, что Recovery Toolbox for MySQL работает только с копией базы, поэтому никогда не испортит то, что осталось от старой БД. Почувствуйте разницу, копаясь в конфигах и настройках «боевого» сервера, и каждую минуту опасаясь сделать что-то неправильно, что приведет к полному уничтожению того, что еще осталось…
*
👉 Как восстановить базу с помощью Recovery Toolbox for MySQL:
Для восстановления поврежденной БД MySQL при помощи этой программы нужно сделать следующее:
- Скачать Recovery Toolbox for MySQL с офиц. сайта: https://mysql.recoverytoolbox.com/ru/;
- Установить и запустить программу;
- Выбрать папку, в которой хранятся файлы поврежденной базы данных MySQL (предварительно создайте копию);
- Выбрать поврежденную базу данных из списка
- Запустить анализ выбранной БД;
- Просмотреть результаты восстановления: таблицы, объекты, индексы;
- Настроить способ сохранения восстановленных данных;
- Сохранить данные (доступно в полной версии). Пример на скриншоте ниже. 👇

Пример восстановления БД
Программа загружается совершенно бесплатно и устанавливается без регистрации. С помощью Recovery Toolbox for MySQL можно бесплатно просматривать восстановленные данные, оценивать эффективность работы.
Можно даже подсмотреть какие-то изменения и легко внести их руками в «протухший», но еще пригодный к использованию бэкап. Заплатить предложат только в том случае, если потребуется сохранить восстановленные данные, пересоздать базу MySQL и подключить ее к системе.

База восстановлена — сохранить?
*
👉 «Пару слов» о безопасности при работе с Recovery Toolbox for MySQL
Самое главное – программа всегда работает только с копией исходной базы, поэтому этот способ восстановления намного надежнее, чем вносить изменения в конфиги БД и смотреть, что из этого получится. Помните, попытка ремонта БД на «продакшн» сервере может окончательно добить ее, такое бывает даже у опытных админов…
Также стоит отметить, что Recovery Toolbox for MySQL не использует сторонние подключения. В процессе восстановления (может занять довольно продолжительное время, в зависимости от размеров исходной базы данных) ПО не использует доступ к Интернет.
Проконтролировать отсутствие подозрительных подключений можно разными способами, самым простым из которых является физическое отключение сетевого кабеля.
Есть способ чуть сложнее: установить анализатор сетевого траффика (советую WireShark, NetLimiter) и проверить, не идут ли подозрительные пакеты от Recovery Toolbox for MySQL.
👉 В помощь!
Как запретить программе доступ к интернету (блокировка входящего/исходящего трафика)
Конечно, этот способ предполагает некий здоровый энтузиазм, желание познать новое (мануалы на WireShark совсем немаленькие) и, самое главное, наличие свободного времени…
*
Дополнения по теме — не помешают!
Всем успехов!
👋
Пост по заметкам
от компании Recovery Toolbox
Полезный софт:
-
- Видео-Монтаж
Отличное ПО для создания своих первых видеороликов (все действия идут по шагам!).
Видео сделает даже новичок!
-
- Ускоритель компьютера
Программа для очистки Windows от «мусора» (удаляет временные файлы, ускоряет систему, оптимизирует реестр).
Доступ запрещен при подключении базы данных
Я использую SQL Server 2008 developer edition. Я пытался подключить базу данных AdventureWorks2008.
когда я попытался подключиться, я получил ошибку «доступ запрещен». Согласно журналу событий, он пришел из O/ S:
открыть не удалось: не удалось открыть файл D:ProjectDataAdventureWorksAdventureWorksLT2008_Data — … mdf для файла номер 0. Ошибка ОС: 5 (Доступ запрещен.).
Я думал, что «проблема NTFS», но система (и я) имеют изменить доступ к файлам.
Я обнаружил, что могу успешно присоединить базу данных, если я войду в систему как sa, но моя учетная запись пользователя не будет работать.
Я являюсь членом локальной группы администраторов на моей машине, и я нахожусь в роли sysadmins в экземпляре SQL Server.
есть идеи, почему я должен был войти в систему как sa?
30 ответов
запустите SQL Server Management Studio от имени администратора. (правый клик-> Запуск от имени администратора), который заботился обо всех странностях в моем случае.
SQL SRV EXPRESS 2008 R2. Windows 7
Спасибо за все замечания. Некоторые из вас помогли мне найти ответ. Вот что я нашел:
Это была проблема разрешения NTFS, а не проблема SQL. Кроме того, он выглядит как ошибка (и он повторяется).
проблема:
Учетная запись, которую я использовал, имела полные разрешения NTFS для файлов mdf и ldf. Однако у него были эти разрешения через членство в группе (у локальной группы администраторов были разрешения, и моя учетная запись член местных администраторов). (Я проверил разрешения)
Если я попытаюсь сделать присоединение, подключитесь к SQL Server как я (где я нахожусь в группе администраторов), это не удастся с проблемой NTFS.
однако, если я предоставляю те же права доступа к файлам, что и локальная группа администраторов, непосредственно к моей учетной записи домена, я могу прикрепиться без проблем.
(О, И да, я проверил локальные группы на этом компьютере, и я проверил, что моя учетная запись домена действительно является членом группа локальных администраторов).
таким образом, похоже, что ошибка возникает из-за того, что некоторый код (либо в SQL Server, либо в Management Studio) проверяет разрешения, которые содержит учетная запись пользователя, но он не заходит так далеко, чтобы проверить разрешения группы, которые наследует учетная запись пользователя.
Это звучит странно для меня, но я могу воспроизводить его снова и снова, поэтому я пришел к выводу, что это ответ.
обновление: я об этом как об ошибке: https://connect.microsoft.com/SQLServer/feedback/details/539703/access-denied-attaching-a-database-when-permissions-are-inherited
Я хотел бы добавить дополнительную информацию к ответам, которые были опубликованы.
будьте осторожны при отсоединении базы данных потому что пользователь windows вы вошли в систему как становится единственным пользователем с разрешениями .файл mdf! Исходные разрешения .файл mdf, который включал пользователя SQLServerMSSQLUser$<computer_name>$<instance_name> и учетная запись администратора перезаписывается тем пользователем windows, который вошел в систему как (не пользователь sql server). Бум, все разрешения ушли просто как это. Так что делайте, как сказали другие, и щелкните правой кнопкой мыши .файл MDF и дважды проверьте разрешения.
я столкнулся с этой проблемой, потому что я использовал SSMS для подключения к базе данных (не имеет значения, какая учетная запись sql server) и отсоединил базу данных. После этого мой пользователь windows был единственным, у которого были какие-либо разрешения .файл mdf. Поэтому позже, когда я попытался подключить БД с помощью учетной записи sa, он выбросил ошибку «отказано в доступе».
сохранить оригинальный разрешения в tact вы должны отключить базу данных, затем отсоединить, а затем прикрепить в таком порядке:
USE [master]
GO
-- kick all users out of the db
ALTER DATABASE mydb
SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
-- Take the Database Offline
ALTER DATABASE mydb SET OFFLINE WITH
ROLLBACK IMMEDIATE
GO
-- detach the db
EXEC master.dbo.sp_detach_db @dbname = N'mydb'
GO
добавить разрешение в папку, где ваш Это.
проверьте это имя:NT ServiceMSSQLSERVER
, и Location на имя сервера.
эта проблема вызвана UAC (Контроль учетных записей), не так ли? Хотя ваша учетная запись пользователя является членом группы администраторов, UAC в Windows 7 не позволяет вам делать администраторские вещи, если вы не запускаете программы «от имени администратора». Это не настоящая ошибка в SQL Server или Management Studio или что-то еще. (Хотя он может знать проблему и попросить у вас повышенные разрешения вместо того, чтобы просто жаловаться на «ошибку 5».)
запустите SQL Server Management Studio от имени администратора. (правая кнопка мыши-> Запуск от имени администратора) работал для меня с Windows 7 к SQL серверу 2008 Р2
база данных SQL2005 может быть присоединена таким образом в Windows 7:
start menu >
all program >
Microsoft sql server 2005 >
sql server management studio >
right click >
run as administrator >
click ok
и затем подключенная база данных успешно завершена.
9
автор: Rahul garg aggarwal
при входе в sa (или любая учетная запись Sql Server), вы функционируете как учетная запись службы SQL Server, когда вы вошли в систему как вы, у вас есть разрешения вашей учетной записи. По какой-то причине у вас нет соответствующего доступа к файлам, но у учетной записи службы есть.
на sa пользователь использует учетные записи NTFS SQLServerMSSQLUser$<computer_name>$<instance_name> и SQLServerSQLAgentUser$<computer_name>$<instance_name> доступ к файлам базы данных. Вы можете попробовать добавить разрешения для одного или обоих этих пользователей.
Я не знаю, решает ли ваша проблема, так как вы говорите, что у вас нет проблем с sa пользователь, но я надеюсь, что это поможет.
со мной
— Работает на window 8
— Щелкните правой кнопкой мыши SQL Server Manager Studio — > выполнить с администратором. — >прикрепить нет проблем
может быть исправлено easly но radicaly, просто перейдите в папку, где у вас хранятся файл mdf. выберите файл — > щелкните правой кнопкой мыши — > нажмите на свойства и дайте полные разрешения на файл для входа в систему безопасности пользователя.
Я нашел это решение: щелкните правой кнопкой мыши на папке, где вы храните свой .mdf файл —> нажмите Свойства —> выберите вкладку Безопасность, нажмите Изменить… и дайте ему полный контроль.
Надеюсь, это поможет!
каждый раз, когда я сталкивался с этой проблемой, при попытке прикрепить базу данных, которая находится в другом каталоге из каталога базы данных по умолчанию, который настроен в SQL server.
Я настоятельно рекомендую вместо взлома с разрешениями на различные каталоги и учетные записи просто переместить файл данных в каталог, который sql server ожидает найти.
Я просто хотел добавить эту информацию.
http://www.mssqltips.com/sqlservertip/2528/database-attach-failure-in-sql-server-2008-r2/
решение
вы получаете эту ошибку, потому что две разные логины сделали операции отсоединения и присоединения. Таким образом, файлы при отсоединении принадлежали первому логину, но прикрепление не удалось, потому что используемый логин не был владельцем файлов mdf и ldf.
когда мы отделяем файлы базы данных, владелец становится человеком, который сделал команду detach, поэтому для решения проблемы нам нужно изменить или добавить другой логин в качестве владельца файлов mdf и ldf.
щелкните правой кнопкой мыши на » filename.mdf » файл и выберите Свойства, чтобы проверить разрешения файла mdf. Здесь мы видим, что только одна учетная запись имеет разрешение на «именем.mdf», потому что это была учетная запись, которая использовалась для отсоединения базы данных.
чтобы решить эту проблему, нажмите на Добавлять… кнопка, чтобы добавить другой логин или любой другой логин, необходимый и дать логин полный контроль. Вы также должны сделать это для файла» ldf». После выполнения этой задачи нажмите кнопку OK. (Примечание для других операционных систем, вы можете изменить параметр , нажмите на эту сначала, а потом вы увидите добавить… выбор.)
для чего это стоит для тех, у кого есть конкретный вариант этой проблемы, который у меня был:
- SQL Express 2008
- Visual Studio 2010 Premium
в контекстном меню папки App_Data я создал базу данных SQL Express для целей отладки. Строка соединения (используемая NHibernate) была следующей:
Server=.SQLExpress;
AttachDbFilename=|DataDirectory|DebugDatabase.mdf;
Database=DebugDatabase;
Trusted_Connection=Yes;
Это дало мне ту же ошибку» отказано в доступе » в файле базы данных. Я пробовал давать различные пользователи полностью контролируют папку и файлы, в какой-то момент даже «все». Ничего не помогло, поэтому я снова удалил добавленные разрешения.
что, наконец, решил его было открыть Проводник сервера в Visual Studio, затем подключиться к MDF и отсоединить его снова. После того, как я сделал это, мое веб-приложение могло получить доступ к базе данных.
PS. Кредиты идут в этот блог Я нашел, пока гуглил эту проблему, вызвав идея прикрепите / отсоедините базу данных для решения проблемы.
Это звучит как разрешения NTFS. Обычно это означает, что учетная запись службы SQL Server имеет доступ только для чтения к файлу (обратите внимание, что SQL Server использует ту же учетную запись службы для доступа к файлам базы данных независимо от способа входа). Вы уверены, что не изменили разрешения папки между входом в систему как самостоятельно и входом в систему как sa? Если вы отсоединитесь и повторите попытку, у него все еще будет та же проблема?
У меня была та же проблема при подключении базы данных. Это не проблема SQL это вопрос счета. Перейдите в Панель управления / Настройки управления учетной записью пользователя / установите значение «никогда не уведомлять». Наконец, перезагрузите компьютер, и он сработал для меня.
я прикрепил файл mdf, щелкнув правой кнопкой мыши базу данных и удалив файл журнала
AdventureWorks2012_Data_log.ЛДФ в Мастере . Файл mdf был помещен в следующее место
C:Program FilesMicrosoft SQL ServerMSSQL10.SQLEXPRESSMSSQLDATA
вышеуказанный метод помог мне решить проблему .
Я читал на этой странице и у них там есть интересное предложение:
внимание: будьте очень избирательны при добавлении
пользователи этих ролей. Например,
sysadmin сопоставляется с dbo в каждом
база данных и является эквивалентом
вход с помощью учетной записи sa.
конечно, у них тоже есть это:
разрешения для пользователей
и роли, и базы данных специфичны.
Все разрешения суммируется с
исключение из правила DENY. Отказано
разрешение на уровне пользователя или
на уровне роли переопределяет же
разрешение, предоставленное через другую роль
членство за исключением
предопределенной роли сервера sysadmin. (Ля
администратор сохраняет за собой все права, даже
если роли у них член есть
Отказать в разрешении.)
поэтому, если вы администратор домена и в группе SQL ‘sysadmin’, мир должен быть вашим ракообразным.
конечно, по Microsoft, вы должны быстро взглянуть на эти две страницы:
ссылка на предпосылки базы данных
ссылка на установку баз данных
вы шалите и пытаетесь прикрепить их вручную 🙂 серьезно, у вас есть все предпосылки для базы данных AdventureWorks2008?
Я подозреваю, что это просто еще один случай Microsoft oddity/edge, но я могу ошибаться.
я переместил mdf базы данных из папки данных по умолчанию в мой asp.net App_Data и столкнулся с этой проблемой, пытаясь установить базу данных обратно в интернете.
Я сравнил параметры безопасности других файловых баз данных в исходном местоположении с перемещенными файлами и заметил, что MSSQL$SQLEXPRESS не был назначен разрешения для файлов в их новом местоположении. Я добавил полный контроль для «NT SERVICEMSSQL$SQLEXPRESS» (должен включать эту службу NT), и он прикреплен только штраф.
похоже, что исходная папка данных имеет эти разрешения, и файлы наследуют ее. Конечно, перемещение файлов и разрывы наследования.
Я проверил файл mdf другого проекта, который я создал непосредственно в его папке app_data. он не имеет разрешений MSSQL$SQLEXPRESS. Хммм. Интересно, почему SQL Express нравится один, но не другой?

USE [master]
GO
CREATE DATABASE [DataBasename] ON
( FILENAME = N'C:dataDataBasename.mdf' )
FOR ATTACH
GO
заменить на
ДЛЯ ATTACH — > ДЛЯ ATTACH_FORCE_REBUILD_LOG
USE [master]
GO
CREATE DATABASE [DataBasename] ON
( FILENAME = N'C:dataDataBasename.mdf' )
FOR ATTACH_FORCE_REBUILD_LOG
GO
Это на самом деле разрешения NTFS и странная ошибка в SQL Server. Я не уверен, что приведенный выше отчет об ошибке является точным или может ссылаться на дополнительную ошибку.
чтобы решить эту проблему в Windows 7, я обычно запускал SQL Server Management Studio (не как администратор). Затем я попытался прикрепить файл MDF. В этом процессе я использовал пользовательский интерфейс, а не вставлял путь. Я заметил, что тропинка отрезана от меня. Это связано с тем, что MS SQL Server (SQLServerMSSQLUser$machinename$SQLEXPRESS) пользователь, добавляемый для вас программным обеспечением, не имеет разрешений на доступ к папке (в этом случае папка глубоко в моих собственных папках пользователя).
вставка пути и продолжение приводит к вышеуказанной ошибке. Итак, я дал пользователю MS SQL Server разрешения на чтение, начиная с первого каталога, в котором ему было отказано (моя папка пользователя). Затем я немедленно отменил операцию распространения, потому что она может занять вечность, и снова применил необходимые разрешения на чтение к следующей подпапке, и пусть это распространяется полностью.
наконец, я дал пользователю MS SQL Server разрешения на изменение .MDF и. ldf файлы для БД.
теперь я могу прикрепить к файлам базы данных.
Я получил эту ошибку, как SA.
В моем случае безопасность не имела значения.
Я добавил полный контроль над файлами mdf и ldf,
и все прошло хорошо.
при запуске sql server 2012 Вы можете получить эту ошибку, пытаясь прикрепить более старую версию mdf-файла. ex файл mdf из sql server 2008.
Я решил проблему, просто двигаться .файл mdf, который вы хотите прикрепить к общей папке, в моем случае я переместил его в папку users/public. Затем я прикрепляю его оттуда без каких-либо проблем. Надеюсь, это поможет.
для тех, кто не смог решить проблему с другими решениями здесь, следующее исправление сработало для меня:
перейдите в папку » данные «в установке SQL Server, щелкните правой кнопкой мыши, свойства, вкладка» Безопасность «и добавьте разрешения полного управления для пользователя «сетевая служба».
(приведенная выше ссылка для SQL 2005, но это исправлено SQL 2008 R2 установка для меня).
дополнительная информация: эта проблема появилась для меня после замены дополнительного жесткого диска (на котором была установлена SQL). Я скопировал все файлы и восстановил исходную букву диска на новый жесткий диск. Однако разрешения безопасности не были скопированы. Я думаю, что в следующий раз я буду использовать лучший метод копирования данных.
в моем случае то, что решило проблему, было следующим:
USE [master]
GO
CREATE DATABASE [AdventureWorks2008R2] ON
( FILENAME = 'C:Program FilesMicrosfot SQL ServerMSSQL10_50.SQLEXPRESSMSSQLDATAAdventureWors2008R2_Data.mdf')
FOR ATTACH_REBUILD_LOG
скопируйте базу данных в другую папку и присоедините или войдите в SQLServer с «аутентификацией Windows»

У меня была такая же проблема при повторном подключении базы данных после ее отсоединения и перемещения файлов ldf и mdf с диска C на F.
чтобы исправить это, я должен был добавить принципала прав владельца в оба файла и дал ему полный контроль над ними на вкладке «Безопасность» диалогового окна «Свойства».
Я боролся с SSMS (2016), чтобы прикрепить базу данных AdventureWorks2012. Но имел успех с этим кодом, взятым из статья CodeProject by
Mohammad Elsheimy:
CREATE DATABASE AdventureWorks2012
ON PRIMARY (FILENAME='D:DevSQL ServerAdventureWorks2012.mdf')
FOR ATTACH;
Если при запуске ПК Интеллект отображается ошибка подключения к БД, необходимо проверить следующее:
-
Запустить утилиту Обновления базы данных idb.exe (из меню Пуск — Интеллект — Утилиты или из папки <Директория установки ПК Интеллект>Tools). Выполнить обновление базы данных.
-
Если обновление БД выполняется с ошибками, запустить утилиту SQL Server Management Studio (из меню Пуск — Microsoft SQL Server 2014) и проверить подключение к БД с теми же параметрами, что указаны в строке подключения в утилите idb.exe.
Если подключение не устанавливается, следует проверить правильность учетных данных, используемых для подключения. Если выполняется аутентификация с использованием учетных сведений Windows, необходимо проверить, что у пользователя есть права на доступ к SQL-серверу. Для этого необходимо войти на SQL-сервер из-под учетной записи встроенного администратора.
Также следует проверить, что запущена служба SQL-сервер. Это можно сделать в утилите SQL Server Configuration Manager (Пуск — Microsoft SQL Server 2014 — Configuration Tools) в разделе SQL Server Services.
-
Если подключение к SQL-серверу в утилите SQL Server Management Studio устанавливается, значит повреждена база данных конфигурации ПК Интеллект. Необходимо удалить ее, создать заново, и настроить подключение к ней в утилите idb.exe. По возможности после этого следует восстановить базу данных из резервной копии.
Ой! Данный функционал ещё в разработке
Номер статьи: 141989020
Обновлено: 19.01.2022 09:00+0000
Содержание статьи:
-
- SQL-сервер не найден или недоступен, ошибки соединения с SQL-сервером
- Ошибка SQL-сервера 26
- Ошибка SQL-сервера 18456
- Не удалось запустить SQL-server — код ошибки 3417
- Повреждена база данных
- Код ошибки SQL-сервера 945
- Код ошибки SQL-сервера 5172
- Ошибка SQL-сервера 823
- Ошибка SQL-сервера 8946
- Другие ошибки SQL Server
- Код ошибки SQL-сервера 1814
- Код ошибки SQL-сервера 1067
- SQL-сервер запускается, но работает слишком медленно
- SQL-сервер не найден или недоступен, ошибки соединения с SQL-сервером
SQL-сервер не найден или недоступен, ошибки соединения с SQL-сервером
- Если SQL-сервер не найден, убедитесь, что ваш экземпляр SQL-сервера действительно установлен и запущен. Для этого зайдите на компьютер, где он установлен, запустите диспетчер конфигурации SQL и проверьте, есть ли там тот экземпляр, к которому вы пытаетесь подключиться и запущен ли он. Нелишним будет также получить отчет об обнаружении компонентов SQL-серверов.
- Если вы проделали п1. и не обнаружили источник проблемы, возможно, неверно указан IP-адрес компьютера или номер порта TCP. Перепроверьте их настройки.
- Причиной того, что невозможно подключиться к SQL-серверу, также может быть сеть, убедитесь, что компьютер с SQL-сервером доступен по сети.
- Проверьте, может ли клиентское приложение, установленное на том же компьютере, что и сервер, подключиться к SQL-серверу. Запустите SQL Server Management Studio(SSMS), в диалоговом окне “Подключиться к серверу” выберите тип сервера Database Engine, укажите способ аутентификации “Аутентификация Windows”, введите имя компьютера и экземпляра SQL-сервера. Проверьте подключение.
Обратите внимание, что многие сообщения об ошибках могут быть не показаны или не содержат достаточной информации для устранения проблемы. Это сделано из соображений безопасности, чтобы при попытке взлома злоумышленники не могли получить информацию об SQL-сервере. Полные сведения содержатся в логе ошибок, который обычно хранится по адресу C:Program FilesMicrosoft SQL ServerMSSQL13.MSSQLSERVERMSSQLLogERRORLOG, или там, куда его поместил администратор системы.
Ошибка SQL-сервера 26
Одна из наиболее часто встречающихся ошибок подключения к SQL-серверу, обычно связана с тем, что в настройках SQL-сервера не разрешены или ограничены удаленные соединения. Чтобы это исправить, попробуйте:
- в SSMS в настройках SQL-сервера включите аутентификацию Windows
- для брандмауэра Windows создайте новое правило, которое разрешает подключение для всех программ и протоколов с указанного IP-адреса
- убедитесь, что запущена служба SQL Server Browser
Ошибка SQL-сервера 18456
Эта ошибка означает, что попытка подключиться к серверу не успешна из-за проблем с именем пользователя или паролем. По коду ошибки в журнале ошибок можно узнать более точную причину, чтобы устранить ее.
Не удалось запустить SQL-server — код ошибки 3417
Возникает в случае, если были изменены настройки Windows или перемещена папка с файлами MSSQL.
- зайдите в C:Program FilesMicrosoft SQLServerMSSQL.1MSSqLData — БезопасностьНастройки доступа — Учетная запись сетевой службы — добавьте учетную запись сетевой службы
- проверьте, что MDF-файл не сжимается. Если это не так, отключите “Сжимать содержимое для экономии места на диске” в свойствах файла
Иногда ни один из этих способов не помогает, это значит, что файлы БД повреждены и ее придется восстанавливать из резервной копии.
Повреждена база данных
Код ошибки SQL-сервера 945
Ошибка 945 возникает, когда БД SQL-сервера помечена как IsShutdown. Проверьте, достаточно ли места на диске, достаточно ли прав у учетной записи для операций с БД, файлы MDF и LDF не должны быть помечены “Только для чтения”.
Код ошибки SQL-сервера 5172
SQL-сервер хранит свою физическую БД в первичном файле, в котором информация разбита постранично. Первая страница содержит информацию о заголовке mdf-файла и называется страницей заголовка. Она состоит из разнообразной информации о БД, такой как размер файла, подпись и т.д. В процессе прикрепления MDF на SQL-сервере часто возникает ошибка 5172. Это в основном происходит, если MDF-файл поврежден, информация в его заголовке тоже и соответственно сложно добраться до данных. Причиной может быть вирус, аварийное выключение системы, ошибка оборудования.
Ошибка SQL-сервера 823
SQL использует API Windows для операций ввода-вывода, но кроме завершения этих операций SQL проверяет все ошибки обращений к API. Если эти обращения несовместимы с ОС, появляется ошибка 823. Сообщение об ошибке 823 означает, что существует проблема с базовым оборудованием для хранения данных или с драйвером, который находится на пути запроса ввода-вывода. Пользователи могут столкнуться с этой ошибкой, если в файловой системе есть противоречия или поврежден файл базы данных.
Ошибка SQL-сервера 8946
Основной причиной ошибки 8946 так же, как и для 5172, является повреждение заголовков страниц БД SQL вследствие сбоя питания, вирусной атаки, отказа оборудования — SQL-сервер больше не может прочесть эти страницы.
Перечисленные ошибки 945, 5172, 823, 8946 можно устранить двумя методами:
- если у вас есть свежая резервная копия базы — восстановить базу из этой копии
- можно попробовать использовать специализированное ПО, такое как SQL Recovery Tool, чтобы восстановить поврежденные файлы
Желательно определить, что именно привело к возникновению ошибок и принять меры, чтобы это не повторялось — заменить плохо работающее оборудование, повысить информационную безопасность.
Другие ошибки SQL
Код ошибки SQL-сервера 1814
SQL-сервер не может создать базу данных tempdb. Убедитесь, что на выделенном под нее диске достаточно места и что у учетной записи хватает прав для записи в указанную директорию.
Код ошибки SQL-сервера 1067
Эта ошибка может возникать по разным причинам. Наиболее часто оказывается, что повреждены или отсутствуют конфигурационные файлы, SQL-сервер обращается к поврежденным системным файлам, ошибочные данные пользователя, нет информации про лицензию. В самых тяжелых случаях придется переустанавливать SQL-сервер. Но иногда помогает восстановление поврежденных файлов или изменение настроек SQL-сервера — вы можете создать новую учетную запись в домене и использовать ее для службы MSSQL.
SQL-сервер запускается, но работает слишком медленно
Проанализируйте журнал сервера, индексы (фрагментацию), запросы, задания, возможность взаимных блокировок. Причин может быть масса.
Мы работаем с разными версиями SQL-сервера уже много лет, знакомы со всевозможными инструкциями SQL-сервера, видели самые разные варианты его настройки и использования на проектах у своих клиентов. В целом мы можем выделить четыре основных источника неполадок:
- Индексы — причина проблем номер один. Неправильные индексы, отсутствующие индексы, слишком много индексов и подобное. Чаще всего при проблеме с индексами пользователи или администраторы базы данных не получают сообщения об ошибке, они просто видят, что база работает очень медленно и докопаться до причин бывает очень нелегко
- изначально плохая архитектура сервера баз данных — ошибка, которую очень сложно и дорого исправлять на этапе, когда база уже используется
- плохой код, в котором возможны блокировки и тупиковые места
- использование конфигурации по умолчанию,
Если у вас не получается устранить ошибки сервера SQL-server самостоятельно, если они появляются снова и снова, то скорее всего в основе лежит одна из этих причин. В таком случае — если у вас произошла ошибка с SQL сервером, ваше ПО не видит SQL-сервер, либо нужно развернуть кластер SQL-серверов — вы всегда можете обратиться за консультацией и технической поддержкой к специалистам Интегруса, отправив заявку с сайта, написав на e-mail, либо позвонив в колл-центр нашей компании.

Присоединяйтесь к нам,
чтобы получать чек-листы, реальные кейсы, а также
обзоры сервисов раз в 2 недели.