본문 바로가기

반응형

함수

[MSSQL] Cannot find either column "dbo" or the user-defined function or aggregate "dbo.XXXX", or the name is ambiguous. 프로시저 및 함수는 정상적으로 생성되었으나 실행을 하려고 하면 아래와 같은 메시지가 발생하는 경우가 있습니다. select dbo.XXXX; 오류 메시지 : Cannot find either column "dbo" or the user-defined function or aggregate "dbo.XXXX", or the name is ambiguous. 그래서 dbo를 제외하고 실행을 해보면 select XXXX 오류 메시지 : 'XXXX' is not a recognized built-in function name. 이런 경우 함수가 생성된 스키마가 dbo로 되어있는지 확인할 필요가 있습니다. 다른 스키마에 생성된 경우 dbo. 을 붙이면 찾지 못하므로 안되고, dbo를 뺀 경우 내장함수가 아니므로 .. 더보기
[MSSQL] The EXECUTE permission was denied on the object 'XXXX', database 'YYYY', schema 'dbo'. 프로시저 또는 함수 생성 후 실행이 되지 않을때 프로젝트를 진행하다보니 DBA가 함께 하는경우도 있지만 그렇지 않은 경우도 있습니다. 구글링을 하면 또 결국엔 할 수 있지만 관련 문서들이 영어로 되어있어 기록용으로 프로시저 및 함수 생성 후 실행이 되지 않을때 권한을 부여하는 방법을 공유합니다. 명령어로 USER마다 권한을 주는 방법도 있지만 그렇게 하는 경우 관리가 쉽지 않아 실행권한을 부여할 role를 만들고 해당 role에 실행권한을 부여한 후 각 USER 마다 실행권한이 포함된 rore를 부여하는 방식으로 하려고 한다. 1) 실행권한을 부여할 Role 만들기 CREATE ROLE db_executor; 2) 해당 role에 실행 권한 부여하기 GRANT EXECUTE TO db_executor; .. 더보기

반응형