바보 같은 질문이지만 SQL Server의 특정 사용자에게 특정 크기 제한을 구현하는 방법이 있습니까? 사용자가 select *를 전송하더라도 결과 세트에는 첫 번째 결과 만 포함됩니다 (예 : 10 개의 결과). 최상위 연산자와 마찬가지로 작동하지만 보안 컨텍스트에서 작동합니다. 이 경우 두 가지 이점이 있습니다. 1) 서버가 비정상적으로 증가하는 adhoc 쿼리를 방지합니다. 2) 중요한 데이터에 대한 액세스를 제한하십시오.모든 사용자 쿼리의 제한 크기 선택
감사합니다.
두 번째 사항에 대해 "상위 10 개가 좋은 보안 상태를 유지하는 방법을 실제로 알지 못합니다. 어쨌든, 나는 그 정의에 TOP 10을 가진 Views를 만들지 않고,이 뷰에만 접근 할 수는 없지만, 가능하다. 그러나 나는 틀릴 수도있다. –
행 수준의 사용 권한을 확인할 수 있습니다. http://msdn.microsoft.com/en-us/library/bb669076(v=vs.110).aspx –
단순히 행 수를 제한하면 과도한 자원 사용을 완화합니다. 예를 들어 "SELECT TOP (1) * FROM BillionRowTable ORDER BY ORDER BY NonIndexedColumn"은 하나의 행만 반환 되더라도 매우 비쌉니다. 대부분 쿼리 계획의 세부 사항에 달려 있습니다. –