Compartilhar via


sysmail_add_principalprofile_sp (Transact-SQL)

Concede permissão para um usuário ou função de banco de dados usarem um perfil do Database Mail.

Ícone de vínculo de tópicoConvenções de sintaxe 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 da função do banco de dados no banco de dados msdb para a associação. principal_id é int, com um padrão NULL. É necessário especificar a principal_id ou o principal_name. Uma principal_id de 0 faz desse perfil um perfil público, concedendo acesso a todos os principais no banco de dados.

  • [ @principal_name = ] 'principal_name'
    O nome do usuário ou da função do banco de dados no banco de dados msdb para a associação. principal_name é sysname, com um padrão NULL. É necessário especificar a principal_id ou o principal_name. Um principal_name de 'public' faz desse perfil um perfil público, concedendo acesso a todos os principais no banco de dados.

  • [ @profile_id = ] profile_id
    A identificação do perfil para a associação. profile_id é int, com um padrão NULL. É necessário especificar a profile_id ou o profile_name.

  • [ @profile_name = ] 'profile_name'
    O nome do perfil para a associação. profile_name é sysname, sem nenhum padrão. É necessário especificar a profile_id ou o profile_name.

  • [ @is_default = ] is_default
    Especifica se esse perfil é o perfil padrão para o principal. Um principal deve ter exatamente um perfil padrão. is_default é bit, sem nenhum padrão.

Valores de código de retorno

0 (êxito) ou 1 (falha)

Comentários

Para tornar um perfil público, especifique uma @principal_id de 0 ou um @principal_name de public. Um perfil público está disponível para todos os usuários no banco de dados msdb, embora os usuários também devam ser membros de DatabaseMailUserRole para executar sp_send_dbmail.

Um usuário de banco de dados pode ter somente um perfil padrão. Quando @is_default for '1' e o usuário já estiver associado a um ou mais perfis, o perfil especificado se tornará 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 for '0' e não existir nenhuma outra associação, o procedimento armazenado retornará um erro.

O procedimento armazenado sysmail_add_principalprofile_sp está no banco de dados msdb e é de propriedade do esquema dbo. O procedimento deverá ser executado com um nome de três partes se o banco de dados atual não for msdb.

Permissões

As permissões de execução deste procedimento usam como padrão membros da função de servidor fixa sysadmin.

Exemplos

A. Criando uma associação, definindo o perfil padrão

O exemplo a seguir cria uma associação entre o perfil chamado AdventureWorks2008R2 Administrator Profile e o usuário de banco de dados msdbApplicationUser. O perfil é o perfil padrão para o usuário.

EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
    @principal_name = 'ApplicationUser',
    @profile_name = 'AdventureWorks2008R2 Administrator Profile',
    @is_default = 1 ;

B. Tornando um perfil o perfil público padrão

O exemplo a seguir torna o perfil AdventureWorks2008R2 Public Profile o perfil público padrão para usuários do banco de dados msdb.

EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
    @principal_name = 'public',
    @profile_name = 'AdventureWorks2008R2 Public Profile',
    @is_default = 1 ;