[sql] SQL Server 운영 체제 오류 5 :“5 (액세스가 거부되었습니다.”)

SQL을 배우기 시작했고 작업 할 데이터베이스를 제공하는 책이 있습니다. 아래의 파일은 디렉토리에 있지만 쿼리를 실행할 때이 오류가 발생한다는 문제입니다.

메시지 5120, 수준 16, 상태 101, 줄 1 실제 파일 “C : \ Murach \ SQL Server 2008 \ Databases \ AP.mdf”를 열 수 없습니다. 운영 체제 오류 5 : “5 (액세스가 거부되었습니다.” “).

   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

책에서 저자는 작동해야하지만 내 경우에는 작동하지 않습니다. 검색했지만 문제가 무엇인지 정확히 알지 못 하므로이 질문을 게시했습니다.



답변

SQL Server 데이터베이스 엔진 서비스 계정에는 새 폴더를 읽고 쓸 수있는 권한이 있어야합니다.

이것을 확인하십시오

수정하려면 다음을 수행하십시오.

데이터 파일 (S 🙂 및 로그 파일 (T :)을 완전히 제어 할 수있는 관리자 그룹을 파일 보안 권한에 추가했습니다.

데이터베이스를 연결하면 제대로 작동합니다.

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오


답변

오래된 게시물이지만 다음은 Windows 7에서 실행되는 SQL Server 2014에서 작동하는 단계별 단계입니다.

  • 제어판->
  • 시스템 및 보안->
  • 관리 도구->
  • 서비스->
  • SQL Server (SQLEXPRESS)를 두 번 클릭하십시오-> 마우스 오른쪽 단추를 클릭하고 속성
  • 로그온 탭을 선택하십시오.
  • “로컬 시스템 계정”을 선택하십시오 (기본값은 일부 Windows 시스템 계정을 방해합니다)
  • -> 확인
  • 마우스 오른쪽 버튼으로 클릭하고 중지
  • 마우스 오른쪽 버튼으로 클릭하고 시작

보일라!

로그온 계정을 설정하는 것이 설치에서 옵션이었을 수도 있지만, 이것이 기본값이 아니기 때문에이 문제를 아직 모르면 놓치기 쉽습니다.


답변

액세스 거부 문제를 해결하기 위해 관리자로 SSMS를 시작했으며 로컬 드라이브에서 데이터베이스를 연결할 수있었습니다. 데이터베이스가 다른 SQL 및 Windows 인스턴스에서 작성되었습니다.


답변

이는 SQL Server에 .bak 파일이 포함 된 폴더에 대한 적절한 권한이 없으므로이 오류가 발생하는 Windows 관련 문제입니다.

가장 쉬운 해결 방법은 .bak 파일을 필요한 모든 권한이있는 기본 SQL 백업 위치로 복사하는 것입니다. 당신은 다른 것을 피할 필요가 없습니다. 에서 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)


답변

나는이 문제가 있었다. 관리자 권한으로 SQL Server를 실행하십시오.


답변

네, 맞습니다. 먼저 sqlserver의 서비스 계정을 찾아야합니다 .Ctrl + Alt + Delete를 동시에 누르면 작업 관리자에서 볼 수 있습니다. 그러면 “C의 읽기 / 쓰기 권한을 부여해야합니다 : \ Murach \ SQL Server 2008 \ 데이터베이스 “를 서비스 계정에 추가하십시오.


답변

문제는 SQL Server가 mdf 및 ldf 파일에 액세스 할 수있는 권한이 없기 때문입니다. 이 모든 절차가 작동합니다.

  1. 파일에 대해 더 나은 권한을 가진 사용자 계정으로 MSSQLSERVER 서비스 시작 사용자 계정을 직접 변경할 수 있습니다. 그런 다음 데이터베이스를 연결하십시오.
  2. 또는 읽기 및 쓰기 권한이 선택된 상태에서 mdf & ldf 파일 속성의 보안 탭에서 파일에 사용자를 할당 할 수 있습니다.
  3. Windows 관리자 계정으로 시작하고 관리자 권한으로 실행 옵션을 사용하여 SQL Server를 열고 Windows 인증으로 로그인하여 데이터베이스를 연결하십시오.