성능에 미치는 영향과 관련하여 본인은이 권한이나 다른 권한에 대해 전혀 모릅니다.
에 관해서:
그들이해서는 안되는 일을 할 수있는 방법
간단히 말하면, 보지 말아야 할 것들을 볼 수 있습니다. 그리고 이것을 단지 SQL Server의 관점에서 생각하지 마십시오. 이 특정 권한은 또한 sys.dm_os_sys_info 와 같은 DMV 및 호스트 시스템 (하드웨어, 서비스 등)에 대한 통찰력을 제공하는 다른 몇 가지를 관리합니다. 어떤 정보가 자신에게 불리한 지 항상 알 수있는 것은 아닙니다. 그리고이 권한이 허용하는 모든 것을보고있는 누군가에게 괜찮더라도 DMV는 때때로 서비스 팩 / 누적 업데이트에 추가되므로 새로운 정보가 노출 될 수 있습니다.
부여 여부를 평가하는 방법에 대한 지침을 찾을 수 없습니다.
사람들에게 필요한 최소 권한을 부여하는 것에 대해 이미 언급 했으므로 이것이 실제로 발생하는 것은 누군가가 특별 사용을 위해이 권한이 필요 합니까? 의미, 누군가가 자신의 쿼리를 제기의 유연성이 필요합니까? 하나 이상의 저장 프로 시저 및 / 또는 다중 문 TVF 생성이 작동합니까? 그렇다면 사용자 에게 권한을 부여 할 필요가 없으며 (그러한 권한으로 허용되는 모든 것을 무료로 부여 할 수 있음) 대신 코드에 권한을 부여합니다 (코드화 된 작업 만 수행함). 모듈 서명은 이를 달성하는 방법입니다. 일반적인 개념은 다음과 같습니다.
- 저장 프로 시저 및 / 또는 다중 명령문 TVF를 작성하여 원하는 조치를 수행하십시오.
EXECUTE이 작업을 수행하는 데 필요한 사용자 및 / 또는 역할에이 모듈을 부여하십시오 .
- 인증서 작성
- 해당 인증서를 사용하여 모듈에 서명 (
ADD SIGNATURE)
- 인증서를
[master]데이터베이스에 복사하십시오 (즉 [master], 모듈 서명에 사용 된 인증서의 공개 키를 사용하여 인증서를 작성하십시오).
- 에 복사 된 인증서에서 로그인을 만듭니다.
[master]
- 해당 인증서 기반 로그인에 필요한 인스턴스 레벨 권한을 부여하십시오 (인스턴스 레벨 역할에 추가하는 것을 포함 할 수 있음).
몇 가지 예는 다음을 참조하십시오.
sys.dm_db_missing_index_details, 위험이 정확히 무엇인지 알고 싶어합니다.