2013-03-13 2 views
0

다른 저장 프로 시저 내부에서 이라는 SQL 함수 만 호출했습니다. 함수를 호출하는 저장 프로 시저에 대한 EXECUTE 권한을 부여했습니다.저장 프로 시저에서 호출 된 함수에 EXECUTE 권한을 부여해야합니까?

함수에 EXECUTE 권한을 부여해야합니까?

@AaronBertrand

기능은 데이터베이스에 다른 개체에 액세스하지 않습니다에서 주석에 대한 응답으로 편집

. 문자열을 만드는 데 사용됩니다.

+0

@AaronBertrand : true이지만 구문은 'GRANT EXECUTE ON ON ...'입니다. 그것이 내가 의미했던 것입니다. –

+0

다시 말하지만 함수가 액세스하는 내용, 저장 프로 시저를 호출하는 사용자의 권한 등에 따라 다릅니다. 시도해 보셨습니까? 어떻게 된 거예요? –

+0

@AaronBertrand : 요청한 추가 정보로 답변을 업데이트했습니다. 함수를 삭제하고 함수와 연관된 권한을 제거하기 위해 함수를 다시 작성하면 제대로 작동하는 것 같습니다. –

답변

1

사용자가 문제를 실행할 수 없다면 함수 삭제 및 다시 작성을 시도하고 함수 자체 및 참조하는 모든 개체에 적절한 권한을 적용하십시오. DENY이있을 수 있으며, 항상 GRANT을 트럼프합니다.

+0

함수가 DB의 다른 객체에 액세스하지 않기 때문에 권한이 할당 될 필요가 없다는 점을 언급하면 ​​좋습니다. –