Você gerencia um servidor de banco de dados com o SQL Server...

Próximas questões
Com base no mesmo assunto
Q2770688 Arquitetura de Software

Você gerencia um servidor de banco de dados com o SQL Server 2008. O servidor está configurado para autenticação do Windows.


Um procedimento armazenado (Stored Procedure), nomeado como “sp_send_dbmail” no banco de dados AccountDB, serve para enviar e-mails. O Stored Procedure envia correio com êxito quando você o executa. Jane, uma usuária, tenta executar o mesmo Stored Procedure e recebe o seguinte erro:


Permissão negada em sp_send_dbmail (Permission denied on sp_send_dbmail).


É necessário habilitar Jane para que ela possa executar o Stored Procedure.


O que você deve fazer?

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é D - Adicionar Jane à função de banco de DatabaseMailUserRole no msdb.

Vamos entender o contexto e por que essa é a resposta correta. A questão aborda o gerenciamento de permissões em um servidor de banco de dados SQL Server 2008, focando especificamente na execução de um procedimento armazenado (Stored Procedure) que envia e-mails, o sp_send_dbmail. O servidor está configurado para usar a autenticação do Windows, o que significa que as permissões são gerenciadas através das contas de usuário do Windows.

Para permitir que Jane execute o sp_send_dbmail, é necessário conceder a ela permissões adequadas no banco de dados onde o procedimento está localizado. O sp_send_dbmail faz parte do subsistema Database Mail, que é gerenciado pelo banco de dados msdb.

Vamos agora analisar cada uma das alternativas:

A - Adicionar Jane à função de banco de DatabaseMailUserRole no AccountDB.

Adicionar Jane à função DatabaseMailUserRole no banco de dados AccountDB não resolverá o problema, pois o DatabaseMailUserRole precisa ser configurado no banco de dados msdb, que é onde o subsistema Database Mail é gerenciado.

B - Criar um perfil do Database Mail para Jane.

Criar um perfil do Database Mail para Jane também não resolverá o problema de permissões. Perfis do Database Mail são utilizados para definir configurações de envio de e-mail, não para gerenciar permissões de execução de procedimentos armazenados.

C - Criar um perfil SQL Mail para Jane.

SQL Mail é uma tecnologia antiga e foi substituída pelo Database Mail. Além disso, criar um perfil SQL Mail não concederá a permissão necessária para Jane executar o sp_send_dbmail.

D - Adicionar Jane à função de banco de DatabaseMailUserRole no msdb.

Esta é a alternativa correta. Ao adicionar Jane à função DatabaseMailUserRole no banco de dados msdb, você está concedendo a ela as permissões necessárias para executar o sp_send_dbmail, pois é nesse banco de dados que as permissões para o envio de emails via Database Mail são gerenciadas.

E - Criar um perfil SQL Mail para Jane no msdb.

Novamente, criar um perfil SQL Mail não é a solução. Como mencionado, SQL Mail é uma tecnologia obsoleta, e a criação de um perfil SQL Mail não resolverá o problema de permissões.

Gostou do comentário? Deixe sua avaliação aqui embaixo!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo