sysmail_add_principalprofile_sp (Transact-SQL)
Aplica-se a:SQL ServerInstância Gerenciada de SQL do Azure
Concede permissão para uma entidade de msdb
banco de dados usar um perfil do Database Mail. A entidade de banco de dados deve mapear para um usuário de autenticação do SQL Server, um usuário do Windows ou um grupo do Windows.
Na Instância Gerenciada SQL do Azure e no SQL Server 2022 (16.x), a entidade de banco de dados também pode mapear para um usuário do Microsoft Entra.
Convenções de sintaxe de Transact-SQL
Sintaxe
sysmail_add_principalprofile_sp
{ [ @principal_id = ] principal_id | [ @principal_name = ] 'principal_name' }
, { [ @profile_id = ] profile_id | [ @profile_name = ] 'profile_name' }
[ , [ @is_default ] = 'is_default' ]
[ ; ]
Argumentos
[ @principal_id = ] principal_id
A ID do usuário ou função do banco de dados no msdb
banco de dados para a associação. @principal_id é int, com um padrão de NULL
. Devem ser especificados @principal_id ou @principal_name . Uma @principal_id torna esse perfil um perfil público, concedendo acesso a todas as entidades de segurança no banco de 0
dados.
@principal_name [ = ] 'principal_name'
O nome do usuário ou função do banco de dados no msdb
banco de dados para a associação. @principal_name é sysname, com um padrão de NULL
. Devem ser especificados @principal_id ou @principal_name . Uma @principal_name torna esse perfil um perfil público, concedendo acesso a todas as entidades de segurança no banco de public
dados.
@profile_id [ = ] profile_id
O ID do perfil da associação. @profile_id é int, com um padrão de NULL
. Devem ser especificados @profile_id ou @profile_name .
@profile_name [ = ] 'profile_name'
O nome do perfil para a associação. @profile_name é sysname, sem padrão. Devem ser especificados @profile_id ou @profile_name .
@is_default [ = ] is_default
Especifica se esse perfil é o perfil padrão para o principal. Uma entidade de segurança deve ter exatamente um perfil padrão. @is_default é bit, sem padrão.
Valores do código de retorno
0
(sucesso) ou 1
(falha).
Comentários
Para tornar um perfil público, especifique uma @principal_id ou 0
uma @principal_name de public
. Um perfil público está disponível para todos os usuários no banco de dados, embora os msdb
usuários também devam ser membros de DatabaseMailUserRole para executar sp_send_dbmail
.
Um usuário de banco de dados só pode ter um perfil padrão. Quando @is_default é 1
e o usuário já está associado a um ou mais perfis, o perfil especificado torna-se o perfil padrão para o usuário. O perfil que anteriormente era o padrão permanecerá associado ao usuário, mas deixará de ser o perfil padrão.
Quando @is_default é 0
e nenhuma outra associação existe, o procedimento armazenado retorna um erro.
O procedimento sysmail_add_principalprofile_sp
armazenado está no msdb
banco de dados e pertence ao dbo
esquema. O procedimento deve ser executado com um nome de três partes se o banco de dados atual não msdb
for .
Permissões
Esse procedimento armazenado pertence à função db_owner . Você pode conceder EXECUTE
permissões para qualquer usuário, mas essas permissões podem ser substituídas durante uma atualização do SQL Server.
Exemplos
R. Criar uma associação e definir o perfil padrão
O exemplo a seguir cria uma associação entre o perfil nomeado AdventureWorks Administrator Profile
e o usuário ApplicationUser
do msdb
banco de dados. O perfil é o perfil padrão para o usuário.
EXEC msdb.dbo.sysmail_add_principalprofile_sp
@principal_name = 'ApplicationUser',
@profile_name = 'AdventureWorks Administrator Profile',
@is_default = 1;
B. Tornar um perfil o perfil público padrão
O exemplo a seguir torna o perfil o perfil AdventureWorks Public Profile
público padrão para usuários no msdb
banco de dados.
EXEC msdb.dbo.sysmail_add_principalprofile_sp
@principal_name = 'public',
@profile_name = 'AdventureWorks Public Profile',
@is_default = 1;
Conteúdo relacionado
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de