사용자 계정의 파일을 복원하고 볼 수 있도록 SQL Server 2012를 구성하려면 어떻게합니까? 찾기”를 사용하여 파일을 복원하는 것입니다. “백업

내 컴퓨터에서 SQL Server 2012 인스턴스를 서비스로 실행하고 있으며 서비스 페이지에 따라 “NT Service \ MSSQLSERVER” 계정으로 로그온합니다 . 그러나 컴퓨터 관리 화면의 “로컬 사용자 및 그룹”영역을 포함하여 다른 곳에서는 해당 계정 이름을 볼 수 없습니다. 아래 링크에서 알 수 있듯이 이는 사용자 계정이 아니라 해당 상자에 서비스 이름이기 때문입니다. Microsoft는 “계정”이라는 레이블을 유용하게 지정했습니다. 이 시점에서 많은 사람들이 혼란스러워하는 것을 볼 수 있습니다.

내가 수행하려는 작업은 SSMS 대화 상자 “백업 파일 찾기”를 사용하여 파일을 복원하는 것입니다. “백업 파일 찾기”는 표준 Windows 파일 열기 대화 상자와 완전히 다른 대화 상자를 사용합니다. 아마도 “원격”작업을 수행하고 있기 때문입니다. 최종 사용자 혼동의 또 다른 풍부한 소스 인 SQL 서버의 보안 컨텍스트는이 질문이 해결되는 데 도움이되기를 바랍니다.

지금까지 내 폴더 중 하나에있는 백업 .mdf / .bak 파일을 복원하려면 모든 사용자가 해당 폴더를 읽을 수 있도록 설정해야합니다. 그렇지 않으면 SQL Server “Locate Backup을 사용하여 해당 폴더에 액세스 할 수 없습니다. 파일 “창. 나는 당신이 다른 사용자 계정과 권한을 가진 서비스와 대화하는 GUI를 사용하고 있다는 사실을 알고 있습니다 .Microsoft의 아무도 아무도 당신에게 명확하게 신경 쓰지 않았으며, Windows 시스템 관리에 수년간의 경험이 있어도 매우 혼란 스럽습니다. .

새 SQL Server 인스턴스를 설치 한 후 보안을 설정하는 방법을 알려주는 SQL Server 설명서 페이지가 누락 되었으면합니다.

같은 포럼 게시물 이 하나 “이 복잡하다”라고 심지어 마이크로 소프트 직원이, 그리고 데날리에서 “다시 변경”고. 이제 SQL Server 2012에서이 기능이 어떻게 작동하며 사용자에게 속한 파일을 읽기위한 권한을 SQL 데이터베이스 엔진의 보안에 어떻게 추가 할 수 있습니까 SID?



답변

참고로 “Denali”는 SQL Server 2012입니다. “최종 사용자 혼동”과 관련하여 최종 사용자가 SSMS와 관련하여 혼동되는지 여부와 관련된 것은 아닙니다. Microsoft는 일반 최종 사용자 용이 아니라 데이터베이스 관리자 및 / 또는 데이터베이스를 관리해야하는 사용자를 위해이 도구를 개발하지 않았습니다. 따라서 제공된 도구와 그 기능에 대한 학습 곡선이 있습니다. SSMS가 SQL Server 2005와 함께 출시 된 이후로 파일 대화 상자는 SSMS에서 이와 같은 방식으로 사용되었습니다. 그 이후로 데이터베이스를 백업, 복원 또는 연결하기 위해 T-SQL 문을 주로 사용하는 이유가 여기에 있습니다. .

SQL Server로 파일 시스템 권한을 구성하려면 여기 에서 MSDN의 지침을 따르십시오 .

서비스 계정 처리 방식은 SQL Server와 함께 제공되지 않거나 SQL Server로 인해 운영 체제 수준이 변경 되었기 때문입니다. Window Server 2008 R2는 서비스 계정과 관련하여 약간 더 많은 보안 계층을 제공했습니다. 기본 설정으로 설치 한 경우에도 서비스 계정이 도메인의 리소스에보다 쉽게 ​​액세스 할 수 있다는 이점이 있습니다. 이 링크 는 SQL Server 2012에서 서비스 계정 권한을 처리하는 방법에 대한 자세한 내용을 제공합니다. 링크에서 발췌 한 내용은 SQL Server 2012에서 기본적으로 사용되는 가상 계정에 대한 것입니다.이 기사에는 링크가 있습니다. 윈도우와 서비스 계정의 개념에 대한 논의 여기. Window Server 2008 R2에서 왔지만 Window Server 2012 및 Window Server 2012 R2에서도 여전히 유효하다고 생각합니다.

가상 계정

Windows Server 2008 R2 및 Windows 7의 가상 계정은 서비스 관리를 단순화하기 위해 다음 기능을 제공하는 관리되는 로컬 계정입니다. 가상 계정은 자동 관리되며 가상 계정은 도메인 환경의 네트워크에 액세스 할 수 있습니다. Windows Server 2008 R2 또는 Windows 7에서 SQL Server를 설치하는 동안 서비스 계정에 기본값을 사용하면 인스턴스 이름을 서비스 이름으로 사용하는 가상 계정이 NT SERVICE \ 형식으로 사용됩니다. 가상 계정으로 실행되는 서비스는 \ $ 형식의 컴퓨터 계정 자격 증명을 사용하여 네트워크 리소스에 액세스합니다. SQL Server를 시작하기 위해 가상 계정을 지정할 때는 암호를 비워 두십시오. 가상 계정이 SPN (Service Principal Name)을 등록하지 못하면 SPN을 수동으로 등록하십시오. SPN을 수동으로 등록하는 방법에 대한 자세한 내용은 Kerberos 연결을위한 서비스 사용자 이름 등록을 참조하십시오. 참고 참고 가상 계정은 클러스터의 각 노드에서 동일한 SID를 가지지 않으므로 SQL Server 장애 조치 클러스터 인스턴스에 가상 계정을 사용할 수 없습니다.

다음 표는 가상 계정 이름의 예입니다.

데이터베이스 엔진 서비스의 기본 인스턴스 : NT SERVICE \ MSSQLSERVER 이름이 PAYROLL 인 데이터베이스 엔진 서비스의 명명 된 인스턴스 : NT SERVICE \ MSSQL $ PAYROLL SQL Server의 기본 인스턴스에있는 SQL Server 에이전트 서비스 : NT SERVICE \ SQLSERVERAGENT PAYROLL이라는 SQL Server 인스턴스 : NT SERVICE \ SQLAGENT $ PAYROLL


답변

다른 폴더의 파일을 보거나 액세스하려면 폴더에 대한 NT SERVICE\MSSQLSERVER권한을 부여 하십시오. 스크린 샷 및 관련 단계 는 SSMS의 디렉토리.bak 파일 에 게시 되지 않은 내 답변을 참조하십시오 . (폴더에 일반 사용자 / 그룹 권한을 추가하는 것과는 약간 다릅니다.)

희망이 도움이됩니다!


답변

실제로 SSMS를 통해 복원을 시도하고 Windows 인증 (!)을 통해 로그인 한 경우 SQL Server 서비스가 아닌 해당 계정에 대한 권한이 필요한 Windows 계정이됩니다 ( “모두가 아닌”). 계정 혼동을 피하기를 희망합니다 서비스 계정에 다른 요구 사항이 있습니다 (예 : SQL 인증 계정을 통해 로그인 한 경우 운영 체제에서 어떤 권한을 요청해야합니까?) 이것은 SQL Server 7.0 이후로 변경되지 않았으며 아마도 그 이전도 아니 었습니다. 🙂