如何在 SQL Server (T-SQL) 中更改数据库邮件的配置设置

发布于

如果在 SQL Server 中使用数据库邮件,则可以通过在数据库中执行存储过程来更改配置设置。sysmail_configure_sp``msdb

语法

语法是这样的:

sysmail_configure_sp [ [ @parameter_name = ] 'parameter_name' ]  
    [ , [ @parameter_value = ] 'parameter_value' ]  
    [ , [ @description = ] 'description' ]

因此,您需要提供设置名称,后跟所需的值。您还可以更新该设置的说明。

请注意,存储过程位于数据库中,并且由架构拥有。因此,如果不是当前数据库,则必须使用由三部分组成的名称调用该过程。sysmail_configure_sp``msdb``dbo``msdb

示例

下面是更改附件最大文件大小的示例:

EXECUTE msdb.dbo.sysmail_configure_sp  
    'MaxFileSize', '2000000';

在本例中,我将参数值更改为 2000000,但没有更改说明。因此,描述保持不变。

另一种方法是显式使用参数名称。

EXECUTE msdb.dbo.sysmail_configure_sp  
    @parameter_name = 'MaxFileSize', 
    @parameter_value = '1000000',
    @description = 'Default maximum file size';

在本例中,我将文件大小恢复为其默认值,并提供默认说明文本(无论如何,在上一个示例中实际上并未更改)。

所有配置设置

可以通过执行存储过程而不传递任何参数来获取当前配置设置的列表。sysmail_help_configure_sp

EXEC msdb.dbo.sysmail_help_configure_sp;

输出:

+--------------------------------+----------------+------------------------------------------------------------------------------
| paramname                      | paramvalue     | description                                                                  
|--------------------------------+----------------+------------------------------------------------------------------------------
| AccountRetryAttempts           | 1              | Number of retry attempts for a mail server                                   
| AccountRetryDelay              | 60             | Delay between each retry attempt to mail server                              
| DatabaseMailExeMinimumLifeTime | 600            | Minimum process lifetime in seconds                                          
| DefaultAttachmentEncoding      | MIME           | Default attachment encoding                                                  
| LoggingLevel                   | 2              | Database Mail logging level: normal - 1, extended - 2 (default), verbose - 3 
| MaxFileSize                    | 1000000        | Default maximum file size                                                    
| ProhibitedExtensions           | exe,dll,vbs,js | Extensions not allowed in outgoing mails                                     
+--------------------------------+----------------+------------------------------------------------------------------------------

返回特定配置设置

如果只想返回一个配置设置,则可以使用参数将其传递给存储过程。@parameter_name

EXEC msdb.dbo.sysmail_help_configure_sp
    @parameter_name = MaxFileSize;

输出:

+-------------+--------------+---------------------------+
| paramname   | paramvalue   | description               |
|-------------+--------------+---------------------------|
| MaxFileSize | 1000000      | Default maximum file size |
+-------------+--------------+---------------------------+