이상적으로 운영 프로덕션 데이터베이스의 경우 개발자가 서버 또는 서버의 데이터베이스에 전혀 액세스하지 못하도록해야합니다. 이런 종류의 일은 SOX 준수를 위해 가장 먼저해야 할 일 중 하나입니다 .
사용자 아이디 아래에 실행하는 것이 권리의 종류를 들어, 유일한 권리는 그들이 진짜로해야 db_datareader
, db_datawriter
및 명시 적 GRANT EXECUTE ON x TO y
(각 저장된 프로 시저 및 사용자 정의 함수에 대한 x
사용자 아이디에 대한 y
).
프로덕션 환경에서 트레이스를 실행해야하는 경우 몇 가지 문제가 있으며이를 설명하려면 Great Wall of Text ™가 필요합니다. 첫 번째 권장 사항은 프로덕션과 마찬가지로 QA 환경을 잠그고 추적을 실행해야하는 경우 prod db의 백업을 QA로 복원하고 추적을 실행하는 것입니다. 또한 SOX, HIPAA 또는 PCI-DSS 요구 사항이있는 경우 QA로 복원하기 전에 prod 데이터를 더 잘 소독해야합니다.
현재 모든 서버 및 데이터베이스에 대한 권한이있는 DBA 용 Windows 그룹이 있습니다.
로그온 권한을 부여하고 데이터 권한을 확인하십시오. 그러나 DBAly 업무를 수행하려면 상승 된 권한으로 별도의 로그인을 사용하십시오. 나는 이것을 수행하는 한 금융 고객을 알고 있습니다. 정식 Windows 인증 기반 로그인은 실수로 할 수있는 피해가 제한되었습니다. 별도의 SQL 인증 로그인으로 DML을 복원하고 실행해야합니다.
내가 일한 한 정부 기관은 각 서버 / DB 관리자마다 2 개의 별도 로그인을 사용했습니다. 따라서 Tangurena
내 도메인 로그인 인 경우 (이 로그인에는 일반 User
권한이 있음) TangurenaAdmin
별도의 Administrator
로그인이됩니다. 당신이 당신의 관리자를 사용하는 경우 모든 시간 계정 문제로 얻을 수 있지만, 그때는 다른 것들에 대한 권한이 부족 (NO 이메일처럼. 오, 당신 말은 나쁜 일처럼 ... 그 ).
내가 현재 일하고있는 정부 기관에는 각 서버 / DB 관리자가 표준 사용자보다 높은 권한을 가지고 있지만 관리자는 아닙니다 ( PowerUser
그룹 으로 생각하십시오 ). 도메인 관리자 기능은 공유 도메인 관리자 계정으로 수행됩니다.
일반적인 오류는 프로덕션 서버에서 복원 된 QA와 같은 잘못된 데이터베이스를 복원하는 것이므로 제한된 권한이나 여러 로그인을 통해 해결되지 않습니다. 잠재적으로 파괴적인 것을 쌍으로하는 것은 위험을 최소화하는 한 가지 방법입니다.
나는 우리가 추적을 실행하기 위해 높은 개인이 필요하다고 생각합니다.
아니요. ALTER TRACE 권한 만 필요합니다 :
http://msdn.microsoft.com/en-us/library/ms187611.aspx