2012-12-04 1 views
1

.NET 2.0에서 사용자 정의 함수를 만들고이를 로컬 SQL Server 인스턴스에 성공적으로 배포 할 수 있습니다. 그러나 특정 사용자에게 기능에 대한 권한을 부여해야합니다 (EXECUTE). CLR 메서드 자체에서이 작업을 수행하여 UDF를 다시 배포 할 때마다 수동으로 권한을 다시 부여하지 않아도됩니다. 데이터베이스에서이 기능은 비주얼 스튜디오에서 CLR 기능을 생성 배포 :SQL CLR에 부여 된 사용 권한 지정 배포 용 사용자 정의 함수

GRANT EXECUTE ON [dbo].[MyFunction] TO [wwwUser] AS [dbo] 

감사 :

ALTER FUNCTION [dbo].[MyFunction](@input [nvarchar](max)) 
RETURNS [nvarchar](max) WITH EXECUTE AS CALLER 
AS 
EXTERNAL NAME [LibName].[UserDefinedFunctions].[MyFunction] 
GO 

내가 그것에서이 압정 할 수있는 방법이 있습니까.

답변

1

예 - MSDN을 참조하십시오. 프로젝트의 루트에 PostDeployScript.sql이라는 스크립트를 만들면 자동으로 빌드 출력에 추가됩니다.

VS2012의 Add ... 대화 상자에는 "Script (PostDeployment)"또는 유사 유형의 스크립트를 추가 할 수있는 옵션이 있지만 파일 이름에 관례적인 "1"을 추가 한 다음 일하지 마라. 나는 첫번째 방법이 다만 작동하기 때문에, MSDN에서 또한 언급 되더라도, 더 멀리보기 귀찮게하지 않았다.

+0

글쎄, 아직도 수동 프로세스이지만, 내가 얻을 수있는만큼 가까이에있는 것으로 보입니다. 답변 해주셔서 감사합니다. – Andy