[KB8406] 데이터베이스 데이터 위치를 가져올 수 있는 권한을 추가하여 ESET Windows 서버 제품에서 Microsoft SQL Server에 대한 자동 제외를 생성합니다

참고:

이 페이지는 컴퓨터로 번역되었습니다. 이 페이지의 언어 아래에서 영어를 클릭하면 원문을 볼 수 있습니다. 불분명한 내용이 있으면 현지 지원팀에 문의하세요.

문제

해결 방법

데이터베이스 데이터의 사용자 지정 위치를 가져올 때 오류가 나타납니다

Microsoft SQL Server의 자동 제외는 주로 데이터베이스 파일의 기본 위치로 구성됩니다. 그러나 데이터베이스 파일이 사용자 지정 위치에 저장된 경로도 포함될 수 있습니다. 이 경우, 마스터 데이터베이스에서 이 정보를 추출할 수 있는 적절한 권한이 NT AUTHORITY\SYSTEM 계정에 있어야 합니다.

Microsoft SQL Server 2016 이상에서 Microsoft는 NT AUTHORITY\SYSTEM 계정에 대한 sysadmin 서버 역할을 제거하여 ESET Windows 서버 제품이 Microsoft SQL Server 인스턴스의 데이터베이스 데이터 위치가 포함된 마스터 데이터베이스의 데이터에 대한 액세스 권한을 잃게 되었습니다.

ESET Windows 서버 제품은 오류 메시지를 통해 이 문제를 알립니다. 로그 파일을 클릭하고 드롭다운 메뉴에서 이벤트를 선택한 후 오류 메시지를 확인합니다:

"Microsoft SQL Server 데이터베이스에서 데이터베이스 파일을 로드하는 동안 오류가 발생했습니다. 마스터 데이터베이스의 시스템 보기에서 데이터를 읽을 수 있는 충분한 권한이 'NT AUTHORITY\SYSTEM' 계정에 있는지 확인하세요."라는 메시지가 표시됩니다

그림 1-1
이미지를 클릭하면 새 창에서 크게 볼 수 있습니다
보안상의 이유로 변경할 수 없는 경우
  • 변경할 수 없는 경우 자동 제외는 기본 위치로만 구성됩니다.
  • 일부 데이터베이스 파일이 기본 경로가 아닌 특정 위치에 있는 경우 이 경로를 수동으로 추가하거나 제외 항목에 추가하세요.
  • 모든 데이터베이스 파일이 기본 위치에만 있는 경우 이 오류는 무시하세요.


ESET 서비스가 데이터베이스 데이터의 사용자 지정 위치를 가져오도록사용 설정

ESET서비스가 데이터베이스 데이터의 사용자 지정 위치를 가져오도록하려면 Microsoft SQL Server Management Studio를 사용하여 아래 세 가지 절차 중 하나를 따르세요:

  1. '모든 정의 보기' 권한을 NT 권한\시스템 계정에 부여합니다(권장)
  2. NT AUTHORITY\SYSTEM 계정에 'sysadmin' 서버 역할을 부여합니다
  3. 'db_owner' 데이터베이스 역할을 NT 권한\시스템 계정의 '마스터' 데이터베이스에 할당합니다
A. '모든 정의 보기' 권한을 NT AUTHORITY\SYSTEM 계정에 부여(권장)
권장 절차

이 절차는 읽기 권한만 부여하므로 시스템에 미치는 보안 영향은 최소화합니다.

  1. Microsoft SQL Server 관리 스튜디오로 이동하여 선택한 Microsoft SQL Server 인스턴스에 연결합니다.

  2. 보안을 클릭합니다. 부여 열에서 모든 정의 보기 옆의 확인란을 선택합니다. 확인을 클릭합니다.

    그림 2-1
B. NT 권한\시스템 계정에 'sysadmin' 서버 역할 부여하기
  1. Microsoft SQL Server 관리 스튜디오로 이동하여 선택한 Microsoft SQL Server 인스턴스에 연결합니다.

  2. 서버 역할을 클릭하고 sysadmin 옆의 확인란을 선택한 후 확인을 클릭합니다.

    그림 2-2
C. NT 권한\시스템 계정의 '마스터' 데이터베이스에 'db_owner' 데이터베이스 역할 할당하기
  1. Microsoft SQL Server 관리 스튜디오로 이동하여 선택한 Microsoft SQL Server 인스턴스에 연결합니다.

  2. 사용자 매핑을 클릭합니다. 이 로그인에 매핑된 사용자 섹션에서 마스터 옆의 확인란을 선택합니다. 데이터베이스 역할 멤버십 섹션에서 db_owner 옆의 확인란을 선택합니다. 확인을 클릭합니다.

    그림 2-3
각 Microsoft SQL Server 인스턴스에 대해 수행할 절차

선택한 절차는 서버에 설치된 각 Microsoft SQL Server 인스턴스에 대해 수행해야 합니다.

서버에 설치된Microsoft SQL Server 인스턴스 목록을 가져옵니다.

단일 서버에서 여러 개의 Microsoft SQL Server 인스턴스를 사용하는 경우 특정 Microsoft SQL Server 인스턴스에 연결합니다.


단일 서버의 여러 MS SQL Server 인스턴스

Microsoft SQL Server Management Studio를 시작할 때 표시되는 연결 대화 상자를 사용하여 특정 Microsoft SQL Server 인스턴스에 연결할 수 있습니다:

  1. Microsoft SQL Server Management Studio로 이동하여 선택한 서버에 연결합니다.

  2. 서버 이름 필드에 아래 형식에 따라 인스턴스를 입력하고 연결을 클릭합니다.

    <서버_이름>\<인스턴스_이름>

    그림 3-1
Microsoft SQL Server Express

일부 복잡한 환경 또는 서비스 설치의 경우 Microsoft SQL Server Express라는 무료 버전의 Microsoft SQL Server를 제공합니다.

이 SQL Server 에디션은 무료로 제공됩니다. 이 버전은 크기와 성능이 제한되어 있으며 소규모 비즈니스에 더 적합합니다.

예를 들어, ESET PROTECT 온프레미스 설치 시 자체 Microsoft SQL 서버를 제공하지 않으면 Microsoft SQL Server Express가 기본적으로 설치됩니다.

Microsoft SQL Server Express로 모든 인스턴스에 대한 권한 설정

그래도 오류 메시지가 표시되면 Microsoft SQL Server Express 인스턴스가 설치되어 있지 않은지 확인하십시오. Microsoft SQL Server Express 인스턴스가 있는 경우 첫 번째 섹션에 설명된 권한을 업데이트하세요.

Microsoft SQL Server 인스턴스 목록 가져오기

서버에 설치된 Microsoft SQL Server 인스턴스 목록을 가져오는 방법에는 여러 가지가 있습니다:

  • Microsoft SQL Server의 새 인스턴스를 설치할 때 새 인스턴스의 이름을 입력하는 단계에서 설치 마법사에 현재 설치된 인스턴스 목록이 표시됩니다.

  • 설치된 인스턴스 목록은 다음 Windows 레지스트리 경로에 있습니다:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\인스턴스 이름

    목록을 가져오려면 다음 PowerShell 명령을 사용합니다:

    Get-Item "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL" | % {$_.Property}
  • 각 Microsoft SQL Server 인스턴스는 해당 서비스를 시스템에 설치합니다. 이 서비스의 이름은 다음과 같은 형식을 갖습니다:

    SQL Server(<인스턴스_이름>)

    다음 PowerShell 명령을 사용하여 시스템에서 이러한 서비스를 필터링하여 설치된 Microsoft Server SQL 인스턴스 목록을 가져올 수 있습니다:

    Get-Service | ?{ $_.DisplayName -like "SQL Server (*" }