SQL Server 작업을 실행할 수있는 권한 부여


22

MSSQL Server 2005에서 데이터베이스 사용자가 실행할 수있는 작업이 있습니다.

작업의 실제 작업에 대한 입력은 데이터베이스 테이블에서 가져 오기 때문에 보안에 대해 걱정하지 않습니다. 해당 테이블에 레코드를 추가하지 않고 작업을 실행하면 아무 것도 수행되지 않습니다.

작업에 공개 권한을 부여하는 방법을 찾을 수 없습니다.

이것을 할 수있는 방법이 있습니까? 이 시점에서 내가 생각할 수있는 유일한 것은 작업을 지속적으로 실행하는 것입니다 (또는 일정대로). 그러나 실제로는 거의 모든 작업을 수행해야하기 때문에 (몇 달에 한 번) 작업이 필요합니다. 그것이 존재하자마자, 이것은 최적의 솔루션이 아닌 것 같습니다.

답변:


20

작업을 실행하는 스토어드 프로 시저를 작성할 수 있습니다. with execute as owner스토어드 프로 시저를 데이터베이스 소유자로 실행하는 데 사용할 수 있습니다 . 그렇게하면 사용자 자신에 대한 권한이 필요하지 않습니다 sp_start_job.

create procedure dbo.DoYourJob
with execute as owner
as
exec sp_start_job @job_name = 'YourJob'

DoYourJob사람들이 작업을 시작할 수 있도록 실행 권한을 부여 하십시오.

물론 작업 내용을 프로 시저에 넣고 실행할 권한을 부여 할 수도 있습니다. 결과 텍스트 표시와 같이 더 많은 상호 작용이 가능합니다.


작동하지 않습니다. 권한이없는 사용자는 프로 시저를 실행할 수 있지만 해당 사용자는 실행할 권한이 없기 때문에 sp_start_job을 실행할 수 없습니다. 호출자가 작업이 끝날 때까지 기다릴 필요가 없기 때문에 내용이 절차에 포함되는 것을 원하지 않습니다.

@shaharmo : 저장 프로 시저를 데이터베이스 소유자로 실행할 수 있습니다. 답변을 편집하겠습니다.
Andomar

그래도 작동이 안되는. 같은 오류가 발생합니다. 동일한 결과로 msdb 데이터베이스와 데이터베이스에서 DoYourJob을 만들려고했습니다.

1
@ shaharmo : 이상합니다. 데이터베이스 소유자가 누구인지 궁금합니다. 당신은 또한 사용할 수 with execute as 'loginname'있습니까, 작동합니까?
Andomar December

3

기본적으로 권한이 필요합니다 sp_start_job(권한 섹션 참조).

역할은 " SQL Server 에이전트 고정 데이터베이스 역할 "(위에서 링크 됨)에 설명되어 있습니다.

2012 년 1 월 수정

내가 대답한지 2 년이 지난 후 익명의 공감 후 ...

질문을 읽으십시오. 그것은 말한다

모든 데이터베이스 사용자가 실행하도록 허용하고 싶습니다

그때

나는 보안에 대해 걱정하지 않는다

그리고 또한

작업에 공개 권한을 부여하는 방법을 찾을 수 없습니다

아래 OP의 의견은 질문과 모순됩니다.


1
모든 사용자에게 모든 작업을 실행할 수있는 권한이 부여되지 않습니까? 하나의 특정 작업 만 실행할 권한을 갖기를 원합니다.

1
"직장에 대한 공공 허가 부여"
gbn

1

이를 통해 특정 사용자 (user1)가 Sql Agent 작업을 실행할 수 있습니다.

SQLAgentUserRole 및 SQLAgentReaderRole의 구성원은 자신이 소유 한 작업 만 시작할 수 있습니다. SQLAgentOperatorRole의 구성원은 다른 사용자가 소유 한 작업을 포함하여 모든 로컬 작업을 시작할 수 있습니다.

USE [msdb] GO CREATE USER [user1] FOR LOGIN [user1] GO USE [msdb] GO ALTER ROLE [SQLAgentOperatorRole] ADD MEMBER [user1] GO


0

운영자가 SQL Server 에이전트 작업을 수동으로 실행할 수있는 권한을 부여해야합니다. 이 게시물 SQL Server 에이전트 고정 데이터베이스 역할 에 따라 SQLAgentOperatorRole 역할 을 부여했습니다.

귀하의 사례를 해결하는 데 도움이되기를 바랍니다.


당신이 한 일에 대해 자세히 설명해 주시겠습니까? 링크 만 답변에 "마중"-링크 부패 & c.
Vérace
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.