Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: SQL Server
Azure SQL Managed Instance
Concede permissão para que um msdb responsável de base de dados utilize um perfil Correio de Base de Dados. O princípio da base de dados deve ser mapeado para um utilizador de autenticação do SQL Server, um utilizador Windows ou um grupo Windows.
No Azure SQL Managed Instance e no SQL Server 2022 (16.x), o principal da base de dados também pode ser mapeado para um utilizador Microsoft Entra.
Transact-SQL convenções de sintaxe
Syntax
dbo.sysmail_add_principalprofile_sp
{ [ @principal_id = ] principal_id
| [ @principal_name = ] N'principal_name' }
, { [ @profile_id = ] profile_id
| [ @profile_name = ] N'profile_name' }
, [ @is_default = ] is_default
[ ; ]
Arguments
[ @principal_id = ] principal_id
O ID do utilizador da base de dados ou do papel na msdb base de dados da associação.
@principal_id é int, com um padrão de NULL. Deve ser especificado @principal_id ou @principal_name . Um @principal_id torna 0 este perfil um perfil público, concedendo acesso a todos os principais elementos da base de dados.
[ @principal_name = ] N'principal_name'
O nome do utilizador da base de dados ou o papel na msdb base de dados da associação.
@principal_name é sysname, com um padrão de NULL. Deve ser especificado @principal_id ou @principal_name . Uma @principal_name torna public este perfil um perfil público, concedendo acesso a todos os principais da base de dados.
[ @profile_id = ] profile_id
O ID do perfil da associação.
@profile_id é int, com um padrão de NULL. Deve ser especificado @profile_id ou @profile_name .
[ @profile_name = ] N'profile_name'
O nome do perfil da associação. @profile_name é sysname, sem padrão. Deve ser especificado @profile_id ou @profile_name .
[ @is_default = ] is_default
Especifica se este perfil é o perfil padrão para o principal. Um principal deve ter exatamente um perfil predefinido. @is_defaulté mordido, sem padrão.
Valores de código de retorno
0 (sucesso) ou 1 (fracasso).
Remarks
Para tornar um perfil público, especifique um @principal_id0 ou um @principal_name de public. Um perfil público está disponível para todos os utilizadores na msdb base de dados, embora os utilizadores também devam ser membros do DatabaseMailUserRole para executar sp_send_dbmail.
Um utilizador de base de dados só pode ter um perfil predefinido. Quando @is_default está 1 e o utilizador já está associado a um ou mais perfis, o perfil especificado torna-se o perfil padrão do utilizador. O perfil que anteriormente era o perfil padrão continua associado ao utilizador, mas já não é o perfil padrão.
Quando @is_default é 0 e não existe outra associação, o procedimento armazenado devolve um erro.
O procedimento sysmail_add_principalprofile_sp armazenado está na msdb base de dados e pertence ao dbo esquema. O procedimento deve ser executado com um nome de três partes se a base de dados atual não msdbfor .
Permissões
Pode conceder EXECUTE permissões neste procedimento, mas essas permissões podem ser anuladas durante uma atualização do SQL Server.
Examples
A. Crie uma associação e defina o perfil padrão
O exemplo seguinte cria uma associação entre o perfil nomeado AdventureWorks Administrator Profile e o msdb utilizador ApplicationUserda base de dados . O perfil é o perfil padrão do utilizador.
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@principal_name = 'ApplicationUser',
@profile_name = 'AdventureWorks Administrator Profile',
@is_default = 1;
B. Faça de um perfil o perfil público predefinido
O exemplo seguinte torna o perfil AdventureWorks Public Profile o perfil público predefinido para os utilizadores na msdb base de dados.
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@principal_name = 'public',
@profile_name = 'AdventureWorks Public Profile',
@is_default = 1;