SSMS의 모든 디렉토리에 .bak 파일이 표시되지 않음


46

SSMS 2008 R2를 통해 수동으로 만든 다른 사람이 오늘 만든 .bak 파일이 있습니다. 데이터베이스를 수동으로 복원하려고하는데 불행히도 파일을 탐색 할 때 파일이 나타나지 않습니다.

복원 프로세스를 스크립팅 할 수는 있지만이 문제를 전에 본 적이 있으며 .bak가 표시되지 않는 원인을 잘 모르겠습니다.


복원을위한 스크립트를 작성하려고합니다. 원인이 무엇인지 알고 싶습니다. 확실히 .bak.txt 또는 .bak가 아닙니다.
Sean Long

그래서 당신은 어디 폴더를 탐색 할 수 있습니다 알고 파일이며, 나타나지 않는거야? 아니면 폴더를 찾을 수 없습니까?
Aaron Bertrand

폴더를 탐색 할 수 있지만 .bak 파일이 표시되지 않습니다. SSMS를 실행하는 사용자의 권한을 확인했으며 로컬 관리자이며 파일이 "숨겨 짐"으로 표시되지 않았습니다.
Sean Long

Windows 탐색기의 폴더보기와 SSMS의보기를 보여주는 스크린 샷을 어딘가에 게시 할 수 있습니까? 또한이 단계에 도달하기 위해 사용중인 프로세스를 질문에 설명하십시오.
Aaron Bertrand

1
(또한 SQL Server 서비스 계정에는 SSMS 사용자뿐만 아니라 권한도 있어야합니다. .bak 파일을 사용하기 전에 목록에 .bak 파일이 표시되는 것을 막을 수는 없습니다.)
Aaron Bertrand

답변:


39

오늘도 같은 문제가있었습니다. 다른 답변 중 일부에서 볼 수 있듯이 권한 문제로 판명되었습니다. 차이점은 우리가 추가해야하는 계정은 NT SERVICE\MSSQLSERVER입니다.

스크린 샷

기본 SQL 백업 폴더 권한의 권한을 백업 파일이 포함 된 폴더와 비교하여 계정을 식별했습니다.

서비스 계정 추가는 간단하지 않습니다. 여기 나를 위해 일한 것이 있습니다. (서버 2012 R2)

  1. 서버에 로그인하십시오. (네트워크 공유가 아닌 실제 서버에서 변경해야합니다.)
  2. 위치 를 로컬 서버 이름으로 변경하십시오 .
  3. 입력합니다 NT SERVICE\MSSQLSERVER이름 상자에. (이름 확인을 클릭하지 마십시오)
  4. 확인을 클릭하십시오. 그러면 일치하는 서비스 계정 목록이 표시됩니다. MSSQLSERVER를 선택하고 확인을 클릭하여 선택을 승인하십시오.

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

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

보안 설정에 서비스 계정이 표시되고 그에 따라 권한을 조정할 수 있습니다.

권한을 추가하고 (기본 SQL 백업 폴더와 일치하도록 모든 권한을 추가했습니다.) SQL Server 관리 콘솔을 다시 시작한 후 백업 파일을 선택하고 복원 할 수있었습니다.


superuser.com/questions/248315/… 는 컴퓨터에서 사용자 계정을 나열하는 방법을 알려줍니다. 라는 이름의 서비스를 위해 s,라는 가상 계정이 NT Service\s서비스가 해당 계정에서 실행되지 않는 경우에도,.
Tahir Hassan

2
추가해야 할 계정은 NT Service\MSSQL$SQLSERVER2014아마도 인스턴스 이름을 지정했기 때문일 것입니다.SQLSERVER2014
thinkOfaNumber

16

나는 오늘 이것을 얻었다.

파일 공유, 색인 생성을 끄고 열린 세션 (백업을 복사하기 위해 로그인 한 사람)을 지 웠지만 문제는 해결되지 않았습니다.

Windows 탐색기로 이동하여 백업을 다른 폴더에 복사하고 Management Studio를 통해 해당 폴더를 찾아 보았습니다.

원래 폴더를 삭제하고 다시 작성하고 내용을 다시 복사 한 후 .bak파일을 찾아 보았 으며 다시 정상으로 돌아갔습니다.

이것이 누군가를 돕기를 바랍니다.


1
도움이되었습니다! :)
Peter PitLock

5

이 문제가 두 번 발생했습니다. 이 문제는 SQL Server가 아니라 폴더의 Windows 권한과 관련이 있습니다. .bak 파일을 복사 한 폴더에 적절한 권한을 추가해야합니다 ( System Network역할 이라고 생각 합니다).

더 쉬운 해결책은 파일을 프로그램 파일의 기본 백업 폴더로 옮기는 것입니다. 필요한 모든 권한이 있습니다. SQL Server 2012의 경우

D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup

이것은 하나의 파일을 복원하기 위해 컴퓨터에서 잠재적 인 보안 허점을 열지 않기 때문에 훌륭한 솔루션입니다.
Michael Potter

정책과 물건이 필요 없습니다
Marin

3

오늘도 같은 문제가 발생했습니다. 복원 할 백업 파일이 제공되었지만 탐색 중에는 볼 수 없었습니다. 그러나 파일 시스템에 액세스 할 수 있었지만 복원 마법사에서을 사용하여 액세스 할 수있었습니다 SQL Server management Studio.

일부를 보낸 후 권한 문제라는 것을 알았습니다. SQL Server 서비스를 사용하여 실행 Network Service중이지만 Network Service계정에 폴더 액세스 권한이 없습니다. 에 권한을 부여 후 Network Service. 백업 파일이 복원되었습니다.

자세한 내용은 블로그로 확인하십시오 .


2

Windows 탐색기에서 찾을 수 있으면 RESTORE DATABASEclunky GUI를 사용하는 대신 명령을 작성 하여 찾아야합니다. 누가 어떤 코드가 거기에서 진행되고 있으며 왜 파일을 찾을 수 없는지 알고 있습니다. 죄송합니다. 해결 방법이없고 해결책이 없습니다.

또한 파일이 실제로 something.bak.txt가 아니고 something.bak.txt가 아닌지 확인하십시오 (Windows가 "유용한"확장명을 숨길 수 있습니다. 기본 동작이 싫습니다).


1

이것은 오늘 dev 상자에서 나에게 일어났다. 필자의 경우 서비스 계정에는 폴더에 대한 권한이 있지만 내 사용자 계정에는 없습니다. 폴더에 대한 계정 권한을 부여한 후에는 .BAK 파일을 볼 수있었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.