Perfis do SQL Server Agent - Amazon Relational Database Service

Perfis do SQL Server Agent

O RDS para SQL Server oferece suporte aos seguintes perfis do SQL Server Agent com diferentes níveis de permissões para gerenciar trabalhos:

  • SQLAgentUserRole

    Permissões

    • Criar e gerenciar seus próprios trabalhos, agendamentos e operadores

    • Visualizar as propriedades de seus próprios trabalhos e agendamentos

    • Não é possível visualizar ou gerenciar trabalhos criados por outros usuários

    Essa função é adequada para usuários que precisam criar e gerenciar seus próprios trabalhos, mas não requerem acesso aos trabalhos criados por outros usuários.

  • SQLAgentReaderRole

    Permissões

    • Todas as permissões de SQLAgentUserRole

    • Visualizar uma lista de todos os trabalhos e agendamentos, incluindo aqueles criados por outros

    • Visualizar as propriedades de todos os trabalhos

    • Veja o histórico de trabalhos

    Essa função é adequada para usuários que precisam monitorar o status de todos os trabalhos, mas não precisam gerenciá-los.

  • SQLAgentOperatorRole

    Permissões

    • Todas as permissões de SQLAgentUserRole e SQLAgentReaderRole

    • Executar, interromper ou iniciar trabalhos

    • Gerenciar o histórico de trabalhos

    • Ativar/desativar trabalhos e agendamentos

    • Visualizar operadores e proxies

    Esse perfil fornece as permissões mais abrangentes e é adequado para usuários que precisam ter controle total sobre todos os trabalhos.

Use o comando a seguir para atribuir as funções ao seu login do SQL Server:

USE msdb; EXEC sp_addrolemember 'SQLAgentOperatorRole', 'username';

Gerenciamento do SQLAgentOperatorRole no RDS para SQL Server

Para visualizar os trabalhos atuais, você deve adicionar o SQLAgentOperatorRole ao seu login do SQL Server e removê-lo antes de se desconectar do banco de dados.

Para visualizar a árvore do SQL Server Agent no SQL Server Management Studio, siga estas instruções:

Visualizar o SQL Server Agent no SQL Server Management Studio (SSMS)
  1. Usando as credenciais mestras do RDS, faça login na instância do SQL Server do RDS e conceda ao usuário desejado o SQLAgentUserRole.

    USE msdb GO IF NOT EXISTS(SELECT name FROM sys.database_principals WHERE name = 'UserName') BEGIN CREATE USER UserName FROM LOGIN UserName END GO ALTER ROLE SQLAgentUserRole ADD MEMBER UserName GO GRANT ALTER ON ROLE::[SQLAgentOperatorRole] to UserName GO

    Esses comandos criam o usuário no banco de dados msdb, caso ele não exista. Ele também adiciona o usuário ao SQLAgentUserRole, para que a árvore do SQL Server Agent no SSMS possa ser visualizada. Por fim, ele concede permissões de alteração no SQLAgentOperatorRole ao usuário. Isso permite que o usuário adicione/remova a si mesmo dessa função.

  2. Para se adicionar à função mencionada acima, conecte-se à instância do SQL Server do RDS com o usuário que precisa ver os trabalhos e execute o script a seguir.

    use msdb go ALTER ROLE SQLAgentOperatorRole ADD MEMBER UserName GO

    Depois disso, clique com o botão direito na pasta Jobs (Trabalhos) e escolha Refresh (Atualizar).

  3. Quando você executa essa ação, a guia Jobs (Trabalhos) exibe um botão + (mais). Clique para expandir a lista de Jobs do SQL Server Agent.

  4. Importante

    Antes de se desconectar da instância do SQL Server do RDS, você precisa se remover da SQLAgentOperatorRole.

    Para remover seu login do SQLAgentOperatorRole, execute a seguinte consulta antes de desconectar ou fechar o Management Studio:

    USE msdb GO ALTER ROLE SQLAgentOperatorRole DROP MEMBER UserName GO

Para ter mais informações, consulte Leveraging SQLAgentOperatorRole in RDS SQL Server.