Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Correo electrónico de base de datos tiene dos objetos de configuración: los objetos de configuración de base de datos proporcionan una manera de configurar las opciones que el correo electrónico de base de datos debe usar al enviar un correo electrónico desde la aplicación de base de datos o el Agente SQL Server.
Cuentas de Correo electrónico de base de datos
Perfiles de Correo de Base de Datos
Relación de objetos de configuración de Correo de Base de Datos
En la ilustración se muestran dos perfiles, tres cuentas y tres usuarios. El usuario 1 tiene acceso al perfil 1, que usa la cuenta 1 y la cuenta 2. El usuario 3 tiene acceso al perfil 2, que usa la cuenta 2 y la cuenta 3. El usuario 2 tiene acceso tanto al perfil 1 como al perfil 2.
Cuenta de correo electrónico de base de datos
Una cuenta de Correo electrónico de base de datos contiene la información que Microsoft SQL Server usa para enviar mensajes de correo electrónico a un servidor SMTP. Cada cuenta contiene información para un servidor de correo electrónico.
Un Correo electrónico de base de datos admite tres métodos de autenticación para comunicarse con un servidor SMTP:
Autenticación de Windows: correo electrónico de base de datos usa las credenciales de la cuenta de servicio de Windows del motor de base de datos de SQL Server para la autenticación en el servidor SMTP.
Autenticación básica: Correo electrónico de base de datos usa el nombre de usuario y la contraseña especificados para autenticarse en el servidor SMTP.
Autenticación anónima: el servidor SMTP no requiere ninguna autenticación. El Correo electrónico de base de datos no usará credenciales para autenticarse en el servidor SMTP.
La información de la cuenta se almacena en la base de datos msdb . Cada cuenta consta de la siguiente información:
Nombre de la cuenta.
Descripción de la cuenta.
Dirección de correo electrónico de la cuenta.
Nombre de cuenta para mostrar.
Dirección de correo electrónico que se usará como información de respuesta para la cuenta.
Nombre del servidor de correo electrónico.
Tipo del servidor de correo electrónico. Para Microsoft SQL Server, siempre es protocolo simple de transferencia de correo (SMTP).
Número de puerto del servidor de correo electrónico.
Columna de bits que indica si la conexión con el servidor de correo SMTP se realiza mediante capa de sockets seguros (SSL).
Columna de bits que indica si la conexión al servidor SMTP se realiza mediante las credenciales configuradas para el motor de base de datos de SQL Server.
Nombre de usuario que se va a usar para la autenticación en el servidor de correo electrónico, si el servidor de correo electrónico requiere autenticación.
La contraseña que se va a usar para la autenticación en el servidor de correo electrónico, si el servidor de correo electrónico requiere autenticación.
El Asistente para configuración de Correo electrónico de base de datos proporciona una manera cómoda de crear y administrar cuentas. También puede usar los procedimientos almacenados de configuración en msdb para crear y administrar cuentas.
Perfil de correo electrónico de base de datos
Un perfil de Correo electrónico de base de datos es una colección ordenada de cuentas de Correo electrónico de base de datos relacionadas. Las aplicaciones que envían correo electrónico mediante correo electrónico de base de datos especifican perfiles, en lugar de usar cuentas directamente. Separar la información sobre los servidores de correo electrónico individuales de los objetos que usa la aplicación mejora la flexibilidad y la confiabilidad: los perfiles permiten la conmutación automática por error, de modo que si un servidor de correo electrónico no responde, Database Mail puede enviar automáticamente el correo a otro servidor. Los administradores de bases de datos pueden agregar, quitar o volver a configurar cuentas sin necesidad de realizar cambios en el código de la aplicación o los pasos de trabajo.
Los perfiles también ayudan a los administradores de bases de datos a controlar el acceso al correo electrónico. Se requiere la pertenencia a DatabaseMailUserRole para enviar correo electrónico de base de datos. Los perfiles proporcionan flexibilidad adicional para que los administradores controle quién envía correo y qué cuentas se usan.
Un perfil puede ser público o privado.
Los perfiles públicos están disponibles para todos los miembros del rol de base de datos DatabaseMailUserRole en la base de datos msdb . Permiten que todos los miembros del rol DatabaseMailUserRole envíen correo electrónico mediante el perfil.
Los perfiles privados se definen en la base de datos msdb para las entidades de seguridad. Solo permiten que los usuarios, roles y miembros especificados de la base de datos del rol fijo de servidor sysadmin envíen correo electrónico mediante el perfil. De forma predeterminada, un perfil es privado y solo permite el acceso a los miembros del rol fijo de servidor sysadmin . Para usar un perfil privado, sysadmin debe conceder a los usuarios permiso para usar el perfil. Además, el permiso EXECUTE en el sp_send_dbmail procedimiento almacenado solo se concede a los miembros de DatabaseMailUserRole. Un administrador del sistema debe agregar el usuario al rol de base de datos DatabaseMailUserRole para que el usuario envíe mensajes de correo electrónico.
Los perfiles mejoran la confiabilidad en los casos en los que un servidor de correo electrónico deja de ser accesible o no puede procesar mensajes. Cada cuenta del perfil tiene un número de secuencia. El número de secuencia determina el orden en que Database Mail utiliza las cuentas en el perfil. Para un nuevo mensaje de correo electrónico, Correo electrónico de base de datos usa la última cuenta que envió correctamente un mensaje o la cuenta que tiene el número de secuencia más bajo si aún no se ha enviado ningún mensaje. Si falla esa cuenta, Correo electrónico de base de datos utiliza la cuenta con el siguiente número de secuencia más alto, hasta que Correo electrónico de base de datos envíe el mensaje correctamente o falle la cuenta con el número de secuencia más alto. Si se produce un error en la cuenta con el número de secuencia más alto, el Correo electrónico de base de datos pausa los intentos de enviar el correo durante el período de tiempo configurado en el parámetro AccountRetryDelay de sysmail_configure_sp, inicia el proceso de intentar enviar el correo de nuevo, empezando por el número de secuencia más bajo. Use el parámetro AccountRetryAttempts de sysmail_configure_sp, para configurar el número de veces que el proceso de correo externo intenta enviar el mensaje de correo electrónico mediante cada cuenta del perfil especificado.
Si existe más de una cuenta con el mismo número de secuencia, Correo electrónico de base de datos solo usa una de esas cuentas para un mensaje de correo electrónico determinado. En este caso, Database Mail no garantiza cuál de las cuentas se usa para ese número de secuencia ni que se use la misma cuenta de un mensaje a otro.
Tareas de configuración de Correo electrónico de base de datos
En la tabla siguiente se describen las tareas de configuración de Correo electrónico de base de datos.
| Tarea de configuración | Vínculo de tema |
|---|---|
| Describe cómo crear cuentas de Correo electrónico de base de datos | Crear una cuenta de Correo electrónico de base de datos |
| Describe cómo crear perfiles de Correo electrónico de base de datos | Crear un perfil de correo electrónico de base de datos |
| Describe cómo configurar el correo electrónico de base de datos | Configuración de Correo electrónico de base de datos |
| Describe cómo crear un script de configuración de Correo electrónico de base de datos mediante plantillas |
Tareas adicionales de configuración de base de datos (procedimientos almacenados del sistema)
Los procedimientos almacenados de configuración de Correo electrónico de base de datos se encuentran en la base de datos msdb .
En las tablas siguientes se enumeran los procedimientos almacenados que se usan para configurar y administrar correo electrónico de base de datos.
Configuración del correo electrónico de base de datos
| Nombre | Descripción |
|---|---|
| sysmail_configure_sp (Transact-SQL) | Cambia las opciones de configuración del Correo electrónico de base de datos. |
| sysmail_help_configure_sp (Transact-SQL) | Muestra las opciones de configuración del Correo electrónico de base de datos. |
Cuentas y perfiles
| Nombre | Descripción |
|---|---|
| sysmail_add_profileaccount_sp (Transact-SQL) | Agrega una cuenta de correo a un perfil de Correo electrónico de base de datos. |
| sysmail_delete_account_sp (Transact-SQL) | Elimina una cuenta de Correo electrónico de base de datos. |
| sysmail_delete_profile_sp (Transact-SQL) | Elimina un perfil de Correo electrónico de base de datos. |
| sysmail_delete_profileaccount_sp (Transact-SQL) | Quita una cuenta de un perfil de Mail de Base de Datos. |
| sysmail_help_account_sp (Transact-SQL) | Muestra información sobre las cuentas de Correo electrónico de base de datos. |
| sysmail_help_profile_sp (Transact-SQL) | Muestra información sobre uno o varios perfiles de Correo electrónico de base de datos. |
| sysmail_help_profileaccount_sp (Transact-SQL) | Enumera las cuentas asociadas a uno o varios perfiles de Correo electrónico de base de datos. |
| sysmail_update_account_sp (Transact-SQL) | Actualiza la información de una cuenta de Correo electrónico de base de datos existente. |
| sysmail_update_profile_sp (Transact-SQL) | Cambia la descripción o el nombre de un perfil de Correo electrónico de base de datos. |
| sysmail_update_profileaccount_sp (Transact-SQL) | Actualiza el número de secuencia de una cuenta dentro de un perfil de Correo electrónico de base de datos. |
Seguridad
| Nombre | Descripción |
|---|---|
| sysmail_add_principalprofile_sp (Transact-SQL) | Concede permiso para que un principal de la base de datos use un perfil de Correo de base de datos. |
| sysmail_delete_principalprofile_sp (Transact-SQL) | Quita el permiso para que un usuario de base de datos use un perfil de Correo electrónico de base de datos público o privado. |
| sysmail_help_principalprofile_sp (Transact-SQL) | Enumera la información del perfil de Correo electrónico de base de datos para un usuario de base de datos determinado. |
| sysmail_update_principalprofile_sp (Transact-SQL) | Actualiza la información de permisos de un usuario de base de datos determinado. |
Estado del sistema
| Nombre | Descripción |
|---|---|
| sysmail_start_sp (Transact-SQL) | Inicia el programa externo Correo de Base de Datos junto con la cola asociada de SQL Service Broker. |
| sysmail_stop_sp (Transact-SQL) | Detiene el programa externo de Correo de Base de Datos y la cola asociada de SQL Service Broker. |
| sysmail_help_status_sp (Transact-SQL) | Indica si se ha iniciado el Correo electrónico de base de datos. |