» Início » Desenvolvimento » Banco de dados e SQL » SQL Server 2005 New Features: O Database Mail - Parte 2
 
Avaliação: | Publicado em: 23/06/2007
SQL Server 2005 New Features: O Database Mail - Parte 2
Gustavo Maia Aguiar é administrador de Empresas pela Universidade de Brasília (UnB) e pós-graduado em bancos de dados pela Universidade Católica de Brasília (UCB), atua na área de tecnologia de informação desde 2001, exercendo funções de desenvolvedor, analista, administrador de banco de dados (DBA) e administrador de dados (AD). É profissional certificado (MOS, MCDBA, MCAD, MCTS (SQL 2005), MCITP (DB Dev), MCITP (DB Admin), MCT e Itil Certified Professional) e suas áreas de interesse incluem .NET, XML, SQL Server, banco de dados em geral e Business Intelligence. É membro ativo dos fóruns MSDN e TechNet além de moderador da comunidade SQL Server Brasil (Orkut).


O Database Mail e o Transact SQL

No artigo anterior, foi demonstrado como configurar o recurso de envio de e-mails no SQL Server 2005. Foi demonstrada a habilitação do recurso, a criação de perfis e contas e o envio de um e-mail de testes.

Nesse artigo, veremos como realizar essas mesmas configurações através do TSQL, bem como algumas utilizações práticas como por exemplo, disparar um e-mail através de um simples comando em TSQL. Veremos que as procedures utilizadas para configuração e disparo de e-mails estão todas localizadas no banco MSDB e costumam ter o prefixo "sysmail". Alguns conceitos e explanações serão mais suscintos visto que no artigo anterior, muitos conceitos e características do Database Mail são melhor explanados. É recomendável a leitura prévia.

Ressalto que para que o recurso de envio de e-mails funcione corretamente, é imprescindível que o servidor de envio de e-mails esteja configurado e acessível para o envio via SMTP. Se os testes forem realizados em um ambiente corporativo, é necessário que a equipe responsável assegure que o servidor onde o SQL Server está instalado seja capaz de conectar-se ao servidor de correio eletrônico. Sem essa condição não é possível prosseguir.

Habilitando o Database Mail

Para que o recurso de envio de e-mails possa ser utilizado, é preciso primeiro que essa funcionalidade esteja habilitada. Como o SQL Server 2005 segue a política "Secure by Default", esse recurso não está habilitado por padrão. Para habilitá-lo via Transact-SQL, utilize o comando abaixo:

-- Habilitar o Database Mail
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'Database Mail XPs', 1;
GO
RECONFIGURE;
GO

Criando um Perfil

Para que o envio de e-mails possa ser realizado, é necessário primeiro a criação de um perfil. Um perfil funciona como um "agrupador" de contas, ou seja, várias contas estão associadas a um determinado perfil. Os e-mails devem ser disparados utilizando um perfil e nunca uma conta. Se fosse utilizada a conta diretamente, e por alguma razão a mesma estivesse indisponível, um erro seria gerado. No caso do perfil, como ele possui mais de uma conta, caso uma determinada determinada conta falhe, é possível utilizar outra conta (inclusive em outro servidor se for o caso) para desse perfil.

É preciso esclarescer que o conceito de perfil nesse caso, nada tem a ver com o conceito de perfil criados em aplicações MAPI como o Outlook. Os perfis criados no Outlook não podem ser aproveitados pelo Database Mail já que esse não utiliza MAPI.

A criação de um perfil pode ser feita através da Stored Procedure sysmail_add_profile_sp. Serão utilizados as mesmas descrições do artigo anterior. O comando TSQL abaixo é capaz de criar um perfil.

-- Criação do Perfil
EXEC msdb.dbo.sysmail_add_profile_sp
@profile_name = 'Perfil para Testes',
@description = 'Esse perfil será utilizado para testes de configuração do Database Mail'

Páginas: « Anterior 1 2 3 4 Próximo »  Próximo: Contas »

Este artigo é a parte 2 de 2 da seguinte série:
  1. SQL Server 2005 New Features: O Database Mail - Parte 1
  2. SQL Server 2005 New Features: O Database Mail - Parte 2

Gustavo Excelente Artigo !!
Mas tenho uma dúvida:
Como alterar/ excluir um database mail já criado ?