우리는 모든 SQL 서버 (2000, 2005 및 2008)에 대한 "듣기 (hearbeat)"테스트를 수행하는 응용 프로그램을 개발하고 있으며이를 수행하기 위해 SQL 서버에 필요한 최소 권한을 파악하려고합니다. (관련 플랫폼은 미정이지만 표준 연결 문자열을 사용해야합니다).SQL 서버 "하트 비트"확인을위한 최소 권한은 무엇입니까?
"SELECT @@ VERSION"쿼리는 SQL Server가 실행되고 요청에 응답하는지 확인하는 데 필요한 모든 쿼리를 사용해야합니다.
연결 문자열로 서버에 연결하는 데 필요한 최소 SQL 권한은 무엇입니까? (가능한 한 DataReader를 제공하고 싶지 않습니다.) 최소한의 권한으로 위의 쿼리를 수행 할 수 있습니까? 이 작업을 수행하는 데 더 나은 표준 기술이 있습니까? SQL 2000, 2005 및 2008은 다르게 동작합니까?
흠. 다른 명시 적 할당 권한이 없어도 "SELECT * FROM SYSDATABASES"또는 "SP_WHO"와 같은 다른 작업을 수행 할 수 있습니다. 나는 주인에 datareader를 부정 할 필요가있을 는가 것입니다? 그랬다면 @@ VERSION을 막을 수 있습니까? – BradC
테스트 후 : db_denydatareader를 할당하면 이러한 다른 쿼리가 금지되지만 @@ version 쿼리는 계속 허용됩니다. – BradC
나는 이런 종류의 액세스를 거부하는 것을 조심스럽게 생각합니다. SQL 2005 이상에서는 사용자 데이터베이스에 대한 액세스를 거부 할 수 있지만 마스터 액세스를 거부하면 큰 영향을받을 수 있습니다. – gbn