2011-11-21 6 views
0

첫 번째 매개 변수를 기반으로 다른 함수를 호출하는 SQL Server 2008 R2에서 데이터베이스에 함수가 있습니다. 이처럼함수에 대한 SQL Server 액세스 한정자

:

SELECT dbo.usp_Function1 ('customerX', ...)

이 다른 기능을 고객에게 특정 usp_Function1CustomerX를 호출합니다.

문제는 누군가가 데이터베이스 외부에서 usp_Function1CustomerX으로 전화를 걸 수 없기를 바랍니다.

좀 더 정확하게 말하자면, Visual Studio 나 OR-mapper의 코드에서이 함수를 호출하고 싶지 않습니다. SQL Server에서 내 함수에 대한 내부 액세스 수정 자 (C# 용어)를 갖는 것과 같습니다.

아이디어가 있습니까? 저장 프로 시저에서 로버트

편집 변경된 예

+0

저장 프로 시저가 아닙니까? 기능하지 않습니다. SQL 서버에서 완전히 다릅니다. – gbn

+0

맞습니다. 그것들은 다릅니다. 나는 둘 다 필요하다. 필자의 예가 혼란을 야기 할 수있다. –

답변

0

솔루션 기능을하는

감사합니다, 1

각 SP 당신이 맞게 수정할 수있는 권한 섹션이 있습니다.

당신이 내부 확인 될 FUNC에 PARAM를 추가 할 수 있습니다 2

솔루션입니다.

+0

함수의 사용 권한 속성을 잘못 이해했을 수있다 : public, guest 또는 특정 사용자와 같은 데이터베이스 역할을 지정하고 alter, control ... 등의 권한을 설정할 수있다. 외부에 대한 가시성을 어떻게 바꿀 수 있습니까? Solution2 : 특정 매개 변수에서 "마법"값을 제안합니까? –

관련 문제