복붙노트

[SQL] SQL 서버 운영 체제 오류 5 : "5 (액세스가 거부되었습니다.)"

SQL

SQL 서버 운영 체제 오류 5 : "5 (액세스가 거부되었습니다.)"

나는 SQL을 배우고 시작하고 난에 작업에 데이터베이스를 제공하는 책이있다. 아래의 이러한 파일은 디렉토리에 있지만, 문제는 쿼리를 실행할 때, 그것은 내게 오류를 준다이다 :

   CREATE DATABASE AP
      ON PRIMARY (FILENAME = 'C:\Murach\SQL Server 2008\Databases\AP.mdf')
      LOG ON (FILENAME =     'C:\Murach\SQL Server 2008\Databases\AP_log.ldf')
      FOR ATTACH
    GO

이 책에서 저자는이 일을해야한다고 말했습니다하지만 내 경우에는 작동하지 않습니다. 내가 검색하지만이 질문을 게시, 그래서 나는 문제가 정확히 무엇인지 모른다.

해결법

  1. ==============================

    1.SQL 서버 데이터베이스 엔진 서비스 계정은 새 폴더에 읽기 / 쓰기 권한이 있어야합니다.

    SQL 서버 데이터베이스 엔진 서비스 계정은 새 폴더에 읽기 / 쓰기 권한이 있어야합니다.

    이 체크 아웃

  2. ==============================

    2.이전 게시물,하지만 여기에 윈도우 7에서 SQL 서버 2014 실행을 위해 일한 단계에 의해 단계는 다음과 같습니다

    이전 게시물,하지만 여기에 윈도우 7에서 SQL 서버 2014 실행을 위해 일한 단계에 의해 단계는 다음과 같습니다

    짜잔!

    내가 로그온 계정을 설정 생각하면 설치에서 옵션 있었지만 그래서 경우는 기본이 아니었다, 당신은 이미이 문제를 인식되지 않은 경우 놓칠 쉬웠다 수 있습니다.

  3. ==============================

    3.이는 SQL 서버가 박 파일 때문에이 오류가 포함 된 폴더에 대한 적절한 권한이없는 윈도우 관련 문제입니다.

    이는 SQL 서버가 박 파일 때문에이 오류가 포함 된 폴더에 대한 적절한 권한이없는 윈도우 관련 문제입니다.

    가장 쉬운 해결책은 모두에게 필요한 권한을 가지고 SQL 백업 위치를 기본값으로하여 .BAK 파일을 복사하는 것입니다. 당신은 무엇 바이올린 필요가 없습니다. SQL 서버 2012 년,이 위치는

    D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup (SQL 2012)
    C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Backup (SQL 2014)
    C:\Program Files\Microsoft SQL Server\MSSQL13.SQLEXPRESS\MSSQL\Backup (SQL 2016)
    
  4. ==============================

    4.액세스 거부 문제를 해결하기 위해, 내가 관리자로 SSMS를 시작하고 그 내 로컬 드라이브에서 데이터베이스를 연결하는 것을 허용했다. 데이터베이스는 다른 SQL 및 Windows 인스턴스에서 만들었습니다.

    액세스 거부 문제를 해결하기 위해, 내가 관리자로 SSMS를 시작하고 그 내 로컬 드라이브에서 데이터베이스를 연결하는 것을 허용했다. 데이터베이스는 다른 SQL 및 Windows 인스턴스에서 만들었습니다.

  5. ==============================

    5.당신은 Ctrl + Alt + 동시에 삭제 누를 때 예, 그것은의 맞아요은 먼저 SQLSERVER의 서비스 계정을 찾아 내야한다, 당신은 작업 관리자에서 볼 수 있으며, 그런 다음 "C의 읽기 / 쓰기 권한을 부여해야 : 서비스 계정에 \ Murach \ SQL 서버 2008 \ 데이터베이스 ".

    당신은 Ctrl + Alt + 동시에 삭제 누를 때 예, 그것은의 맞아요은 먼저 SQLSERVER의 서비스 계정을 찾아 내야한다, 당신은 작업 관리자에서 볼 수 있으며, 그런 다음 "C의 읽기 / 쓰기 권한을 부여해야 : 서비스 계정에 \ Murach \ SQL 서버 2008 \ 데이터베이스 ".

  6. ==============================

    6.나는이 문제를 가지고 있었다. 그냥 관리자로 SQL Server를 실행

    나는이 문제를 가지고 있었다. 그냥 관리자로 SQL Server를 실행

  7. ==============================

    7.문제는 액세스 SQL Server에 대한 사용 권한 MDF 및 LDF 파일의 부족 때문이다. 이 모든 절차는 작동합니다 :

    문제는 액세스 SQL Server에 대한 사용 권한 MDF 및 LDF 파일의 부족 때문이다. 이 모든 절차는 작동합니다 :

  8. ==============================

    8.나는 사용자 그룹 모두 .mdf 및 .ldf 파일에 대한 전체 제어 권한을 추가하여이 문제를 해결한다.

    나는 사용자 그룹 모두 .mdf 및 .ldf 파일에 대한 전체 제어 권한을 추가하여이 문제를 해결한다.

  9. ==============================

    9.나에게는 SQL 서버 관리 스튜디오와 다음과 같은 방법으로 해결되었다 관리자로 (I Windows 인증으로 로그인)에 -log MDF 파일 파일을 -attach (오른쪽 클릭 데이터베이스 | 첨부 | 추가) 관리자로 밖으로 -log 일반 사용자로 -log

    나에게는 SQL 서버 관리 스튜디오와 다음과 같은 방법으로 해결되었다 관리자로 (I Windows 인증으로 로그인)에 -log MDF 파일 파일을 -attach (오른쪽 클릭 데이터베이스 | 첨부 | 추가) 관리자로 밖으로 -log 일반 사용자로 -log

  10. ==============================

    10.실제 서버 권한이 시점에서 중요하지 않습니다; 모두가 좋아 보인다.  SQL 서버 자체는 폴더 권한이 필요합니다. 버전에 따라, 당신은 당신의 폴더를 터치 SERVERNAME $ MSSQLSERVER 권한을 추가 할 수 있습니다. Othewise, 그것은 기본 백업 디렉토리 (에 있어야하는 중 당신은 C로 또는 기본 설치 장소 : \ PROGRAMFILES (x)는 \ MSSQL \ BACKUP.

    실제 서버 권한이 시점에서 중요하지 않습니다; 모두가 좋아 보인다.  SQL 서버 자체는 폴더 권한이 필요합니다. 버전에 따라, 당신은 당신의 폴더를 터치 SERVERNAME $ MSSQLSERVER 권한을 추가 할 수 있습니다. Othewise, 그것은 기본 백업 디렉토리 (에 있어야하는 중 당신은 C로 또는 기본 설치 장소 : \ PROGRAMFILES (x)는 \ MSSQL \ BACKUP.

  11. ==============================

    11.다음 단계를 수행하더라도 같은 오류 메시지를 얻을 수 있습니다.

    다음 단계를 수행하더라도 같은 오류 메시지를 얻을 수 있습니다.

    1. login as SA user (SSMS)
    2. Edit the file permissions to say "everyone" full access (windows folder)
    3. Delete the Log file (Windows Exploring  (this was what I had done per advise from some msdn forum) 
    

    난 여전히 권한 오류를 얻었으나, 그때 첨부 화면, 하단 부분은 여전히 ​​로그 파일을 보였으며, 오류 메시지가 동일하게 유지 것으로 나타났습니다.

    이 같은 일을 한 사람을 도움이되기를 바랍니다.

  12. ==============================

    12.아주 간단한 해결책.

    아주 간단한 해결책.

  13. ==============================

    13.내 응용 프로그램에서 엔티티 프레임 워크를 사용하고이 문제를 가지고 있었다, 나는, 폴더 및 윈도우 서비스를하지 작업의 모든 권한을 seted 나는 (EXE 파일에 마우스 오른쪽 버튼으로 클릭하고 "관리자 권한으로 실행"을 선택) 내 관리자 권한으로 응용 프로그램을 시작하고 그 벌금을 작동 후.

    내 응용 프로그램에서 엔티티 프레임 워크를 사용하고이 문제를 가지고 있었다, 나는, 폴더 및 윈도우 서비스를하지 작업의 모든 권한을 seted 나는 (EXE 파일에 마우스 오른쪽 버튼으로 클릭하고 "관리자 권한으로 실행"을 선택) 내 관리자 권한으로 응용 프로그램을 시작하고 그 벌금을 작동 후.

  14. ==============================

    14.당신이 APP_DATA 폴더에 .MDF 파일에이 오류 (또는 당신이 그것을 어디다 적) 비주얼 스튜디오 프로젝트의 경우, 내가했던 방법은 단순히 여기에 기존의 DATA 폴더에서 권한을 복사하는 것이 었습니다 (나는 SQL을 사용하고 있습니다 ) 이전 응용 프로그램을 지원하기 위해 2014 익스프레스 :

    당신이 APP_DATA 폴더에 .MDF 파일에이 오류 (또는 당신이 그것을 어디다 적) 비주얼 스튜디오 프로젝트의 경우, 내가했던 방법은 단순히 여기에 기존의 DATA 폴더에서 권한을 복사하는 것이 었습니다 (나는 SQL을 사용하고 있습니다 ) 이전 응용 프로그램을 지원하기 위해 2014 익스프레스 :

    C:\Program Files\Microsoft SQL Server\MSSQL12.SQLEXPRESS2014\MSSQL\DATA
    

    (주 : 실제 설치 경로는 다를 수의 나 - 인스턴스 이름이 다른 경우 특히)

    theDATA 폴더를 더블 클릭 먼저 관리자로 다음 APP_DATA 폴더의 폴더와 모방 동일한의 속성을 열고, 액세스 권한이 있는지 확인합니다. (- 당신이 다를 수 있습니다 내가 인스턴스 SQLEXPRESS2014 이름 때문에) 내 경우에는 누락 된 사용자는 MSSQL $ SQLEXPRESS2014이었다. 그것은 또한 SQL Server 서비스 사용자 이름으로 발생합니다.

  15. ==============================

    15.어떤 이유로, 모든 올바른 사용 권한을 설정하는 내 경우에는 도움이되지 않았다. 나는 (액세스가 거부되었습니다.) 오류로 인해 5 복원 할 수 없음을 파일 db.bak했다. 이 파일은 여러 가지 다른 백업 파일과 같은 폴더에 넣고 모든 권한은 다른 파일과 동일했다. 나는이 db.bak 파일을 제외한 다른 모든 파일을 복원 할 수 있었다. 여전히 같은 결과 - 난 사용자의 SQL Server 서비스 로그를 변경했습니다. 나는 아무런 영향으로 파일을 복사하는 시도했습니다.

    어떤 이유로, 모든 올바른 사용 권한을 설정하는 내 경우에는 도움이되지 않았다. 나는 (액세스가 거부되었습니다.) 오류로 인해 5 복원 할 수 없음을 파일 db.bak했다. 이 파일은 여러 가지 다른 백업 파일과 같은 폴더에 넣고 모든 권한은 다른 파일과 동일했다. 나는이 db.bak 파일을 제외한 다른 모든 파일을 복원 할 수 있었다. 여전히 같은 결과 - 난 사용자의 SQL Server 서비스 로그를 변경했습니다. 나는 아무런 영향으로 파일을 복사하는 시도했습니다.

    그럼 난 그냥 실행하여 동일한 파일을 만들 시도

    type db.bak > db2.bak
    

    대신에 파일을 복사. 그리고 짜잔 일했다! db2.bak가 성공적으로 복원.

    나는 백업 파일을 읽는 몇 가지 다른 문제가 erroniously MS SQL에 의해 (액세스가 거부되었습니다.) 5로보고 될 수 있다는 것을 생각한다.

  16. ==============================

    16.리눅스에서, 나는에의 / var / 옵션 / MSSQL / 데이터 / 폴더를 가서 다음 sudo를 터미널을 개장하는 당신이 당신의 데이터베이스 파일 이름과 참고 MyUser에 함께 yourDB을 대체 아래로 내 * .mdf 및 * .LDF 파일 권한을 변경 현재 사용자 이름을 로그인 :

    리눅스에서, 나는에의 / var / 옵션 / MSSQL / 데이터 / 폴더를 가서 다음 sudo를 터미널을 개장하는 당신이 당신의 데이터베이스 파일 이름과 참고 MyUser에 함께 yourDB을 대체 아래로 내 * .mdf 및 * .LDF 파일 권한을 변경 현재 사용자 이름을 로그인 :

    chmod 755 yourDB.mdf
    chown myUser yourDB.mdf
    
    chmod 755 yourDB.ldf
    chown myUser yourDB.ldf
    

    그 후, 그것은 어떤 문제없이 다시 연결되었다.

  17. from https://stackoverflow.com/questions/18286765/sql-server-operating-system-error-5-5access-is-denied by cc-by-sa and MIT license