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)
-
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. -
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).
-
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.
-
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