2012-04-03 4 views
3

최근 데이터베이스를 SQL Azure로 마이그레이션했습니다. 내가 저장 프로 시저에 대한 실행 권한을 부여 어떻게SQL Azure에 대한 실행 권한 부여

The EXECUTE permission was denied on the object 'Log_Save', database 'MyDatabase', schema 'dbo'. 

내 질문은, (물론 읽기/쓰기 액세스 : 나는 SQL 애저에이 데이터베이스에 저장 프로 시저를 실행하려고하면, 나는 다음과 같은 오류가 발생합니다 테이블) SQL Azure?

감사합니다.

답변

10

트릭은 사용자 지정 "실행자"역할을 만든 다음 실행 권한을 부여해야한다는 것입니다. 새 DB에,

CREATE USER MyUser FOR LOGIN MyLogin WITH DEFAULT_SCHEMA=[dbo] 
GO 

그런 : 당신은 이미이없는 경우 마스터 DB에서

는 먼저 사용자를 생성

CREATE ROLE [db_executor] AUTHORIZATION [dbo] 
GO 

GRANT EXECUTE TO [db_executor] 
GO 

sp_addrolemember @rolename = 'db_executor', @membername = 'MyUser' 
sp_addrolemember @rolename = 'db_datareader', @membername = 'MyUser' 
sp_addrolemember @rolename = 'db_datawriter', @membername = 'MyUser' 
+0

감사합니다, 이것은 바로 돈이었다! (또한 받아 들여진 응답 IMHO이어야한다 ...) – easuter

1

당신은 항상에 this 도구를 사용할 수 있습니다 Azure SQL 사용자를 관리하고 올바른 권한을 부여하십시오.

1

조 브람스 '대답 관련, 당신은 개별 사용자에게 실행 권한을 부여 할 수 있습니다

GRANT EXECUTE TO testuser 
GO 
관련 문제