代码改变世界

8 . 2 中央管理服务器

2018-07-31 15:59  笑一笑十年少!!!  阅读(651)  评论(0编辑  收藏  举报


对于DBA来说,最关 心 的 一 个 问 题就是如何找到同时管理多台服务器的最好方式。前
一节中有关基于策略的管理的示例是围绕 一 个 实 例 设 计 的 ;然而,如果浏览基于策略的管

理(Policy-Based Management, PBM)的一些选项,将看到有一些选项允许指定将策略应用
于哪个平台和哪个SQL Server版本。 您可能会问,如果之前的SQL中并不存在PBM ,那该怎么办?答案是使用中央管理
服务器(CMS,Central Management Server)。CMS不仅仅是PBM的扩展,它的概念是允许
同时对几台服务器执行策略以及查询。例如,如果有一个分布于多个SQLServer中的数据 库,而您不确定特定行存在于服务器上,这就非常有用。您可以编写一个査询,使其包含
一条针对所有服务器的选择语句,并使用单行指定完整的对象名;或者可以将这些服务器
添加到中央管理服务器组中,并在单个操作中执行该査询。
不过,在考虑中央管理服务器时要记住两个关键因素:
• 首先,中央管理服务器和所有已注册目标服务器必须使用基于Windows的登录名 进行身份验证和管理。SQL登录名的创建和管理不能在同是一个管理组的服务器间
重复。
• 要注意的另一事项是中央管理服务器不将其自己作为目标。这意味着应用于CMS
的策略是应用于已注册的服务器,而非CMS本身。
要定义一个新的CM S,需要打开“已注册的服务器”窗口。在 SQL Server Management
Studio中,通过选择“视图” I “已注册的服务器”命令可打开该窗口。“已注册的服务器” 窗口显示两个类别:
• 一个是Local Server Groups。在这里可添加定期管理的服务器列表以便于访问,而 不必每次都将“对象资源管理器”与它们连接。可以创建服务器组文件夹逻辑安
排和聚集经常管理的服务器。
• 另一个是Central Management Servers,在这里可定义中央管理服务器。在将一个服 务器定义为中央管理服务器后,需要创建一个新的服务器组,并注册想在该新服
务器组中集中管理的服务器。
在 图 8 -7 中,可以看到新 建 的 MyServers本地服务器组,AughtEight是其成员。 AughtEight被定义为中央管理服务器,并带有一个名为Bespin的新服务器组。这个服务器
组包含 AughtEightVDagobah 和 AughtEight\Hoth 实例。

右 击 CMS可选择“评估策略”命令,该命令允许对管理的服务器评估一个或多个策
略。这里需要指定来自文件系统的策略,或使用存储于服务器(包括CMS)上的策略。图 8-8
所示是评估Check Bad Logins策略的结果。

8 .3 数据库邮件
Microsoft SQL Server 2008包 含 一 种 为 SQL Server收发消息的简单方法。这一功能叫
做 “数据库邮件”,它 允 许 SQL Server通 过 SMTP发送和接收消息。SQL Server的数据库 邮件服务的好处之一是它可以和任意SMTP服务一起工作,而不管该服务是否需要身份验
证(应该需要身份验证,但这是一个超出本章范围的安全主题)。
SQL Server 2008中的数据库邮件功能是一个允许从服务器生成和发送电子邮件消息, 并由企业邮件系统转发该电子邮件消息的工具。这有几个好处,包括使用替代方法将信息
返冋给用户;通知相关人员特定事件已完成或条件已达成;或提供作业和SSIS包的状态信
息。数据库邮件的设计考虑到了安全性、可扩展性和可靠性。
提示:
SQL Server 2008速成版中没有包含数据库邮件功能。
8.3.1 工作原理
数据库邮件使用SMTP进行消息传递。消息可以在SQL内部生成,也可以包括来自于
SQL环境外部的附件。数据库邮件功能的主要好处之一是它能使用任意SMTP服务器转发
消息。以前版 本 的 SQL使 用 的 是 SQL Mail,需要一个支持MAPI的邮件服务器(如 Microsoft
Exchange)以及 一 个 MAPI客户端(如Microsoft Outlook)。相比较而言,这是一个显著的进
步。虽 然 SQL Server 2008中 仍 有 SQL M ail,但这只是个遗留功能,不应再使用它。 数据库邮件的另一好处就是,允许配置SMTP服务器转发消息时需要的身份验证凭据,
还可以在首选的服务器不可用的情况下配置不同服务器进行传递。SQL Server使用外部可 执行 程 序 DatabaseMail.exe向 SMTP服务器进行消息传递。这 就 使 得 SQL Server可以与将 消息转发到SMTP服务器的进程隔离开来。

msdb数据库用于存储 数 据 库 邮 件 的 配 置 信 息 ,控 制 对 该 功 能的访问以及对消息进行排
队,直到它们准备好传递。在配置数据库邮件之前,需要考 虑几件事:
• 首 先 ,应 该 知 道 可 以 使 用 哪 些 SMTP服务器和需要哪些凭 据 。在 下 一 节 将 会 看 到 ,
如有必 要 ,可以使用多个帐户来配置多个服务器。
• 另 一 个 考 虑 则 是 将 保 留 哪 些 消 息 以 及 需 要 保 留 的 时 间 。默 认 情 况 下 ,所有已发送
消 息 及 其 附 件 都 存 储 在 msdb数 据 库 中 。要 了 解 公 司 有 关 电 子 邮件消息的安全及保 留策 略 。您可能需要依法将消息保留一段时间。
数据库 邮 件 功 能 使 用 帐 户 配 置 对 SMTP服 务 器 的 访 问 ,使用配置文件配置对邮件帐户
的访问。然 而 ,配 S 文件和帐 户 可 能 相 互 排 斥 。如 有 必 要 ,可 以创建一个不与配置文件关
联的帐 户 ,也 可 以对多个配置文件使用同一帐户。
8 .3 .2 如何配置数据库邮件
配 置 SQL Server以使其使用数据库邮件的最简单的方法是使用SQL Server Management
Studio中的数据库邮件配置向导。本节将详细解释该向导中的每一页面及其配置。

(1 )要启动该向导,导 航 至 “对 象 资 源 管 理 器 ”中 服 务 器 的 “管 理 ”部 分 (如 图 8-9所示)。

(2) 展 开 “管 理 ”节 点 ,右 击 “数据 库 邮 件 ”,然 后 选 择 “配 置 数 据 库 邮 件 ”命 令 。
(3) 您将看到的第一页是一 个 起 始 页 ,说 明 了 向 导 中将要执 行 的 每 一 个 步 骤 ,如果不
想再看到这一页,可以选中页面底部的复选框,表示以后想 跳过此页。
(4) 下一个界面会询问您想用向导执行什么配置任务。可以使用它初始化数据库邮件以便
在 服 务器上使 用 ,或者如果己经进 行 了 配 置 ,可 以管理现有的邮件配置文件和己配置的帐
户 。还 可 以 在 这 里 更 改 系 统 设 置 。对 于 本 例 而 言 ,选 择 第 一 个 选 项 安 装 数 据 库邮件(如图
8-10所 示 )。

(5) 数据库邮件默认是禁用的。如果是第一次运行该向导,并且没有手动启用数据库
邮件,那么系统会提示启用它。一旦启用了数据库邮件,下一屏幕就会要求为一个新的数
据库邮件配置文件提供信息。输入配置文件的名称,另外也可以提供一个说明,用于标识
该配置文件以及描述如何使用它。在这个例子中,输入AdventureWorksSalesProfile作为配 置文件的名称。
在输入这些信息后,必须配置至少一个该配置文件将使用的帐户。在单个配置文件下
配置多个帐户有助于保证需要接收信息的用户能够使用数据库邮件功能,并且传递的路径
是不相关的。排列帐户的顺序将决定发送消息时的优先级顺序。帐户在列表中越靠前,优
先级就越髙。
(6) 要创建新帐户,可单击“添加”按钮。在 “新建数据库邮件帐户”屏幕(如图8-11
所示)中,输入帐户名和说明,然后输入有关帐户的信息,包括生成邮件的电子邮件地址、
该地址的显示名称、答复电子邮件和SMTP服务器的名称或IP地址。另外还有一个文本框,
可以在其中输入SMTP服务器使用的端口号。除非您知道服务器使用了一个不同的端口,
否则应该使用标准的SMTP端口 25。如果服务器使用了安全套接字层(SSL)保护传输中的
数据,那么就需要选中合适的复选框。
(7) 在同一屏幕上,可以选择SMTP服务器所需的身份验证方法。默认选择的是匿名
身份验证,但对大多数SMTP服务器来说,这不是首选的方法。如 果 SMTP服务器基于
Windows(例如Microsoft Exchange或 IIS),且位于同一域中,或位于一个不同但共享信任
关系的域中,那么可以选择“使用数据库引擎服务凭据的Windows身份验证”。否则,可 以使用基本身份验证,手动提供用户名和密码。注意,如果未在SQL Server和 SMTP服务 器之间使用SSL,则身份验证信息可能会以明文发送,而且很容易被拦截。

这个例子中使用的是通过IIS安装在本地机器上的SMTP服务。可以使用图8-11中的
信息为您的邮件服务器恰当地配置邮件帐户

(8) 在输入帐户的信息之后,单 击 “确定”按钮关闭“新建数据库邮件帐户”窗口。
可以输入更多帐户供同一个配置文件使用,或者可以单击“下一步”按钮进入下一屏幕。
(9) 在 “管理配置文件安全性”屏幕上,可以使用“公共配置文件”选项卡(如图8-12
所示)将配置文件设置为公共配置文件。如果一个配置文件是公共的,这意味着该文件可被
属于msdb数据库中的DatabaseMailUsersRole角色成员的所有用户使用。在这里也可以定

义哪个公共配置文件是默认的公共配置文件。如果在发送邮件操作中未指定配置文件,那
么就会使用默认的配置文件。对于专用配置文件来说,可以(按每个用户)指定特定用户可
以使用哪些配置文件(如图8-13所示)。每个用户也可以有一个自己可用的默认配置文件。该
用户必须已经存在于msdb数据库中。就这个例子而言,把配置文件标记为公共的,并设 置其为默认的配置文件。配 置 好 “管理配置文件安全性”选项之后,单 击 “下一步”按钮

 

(10)在向导的最后一个输入页面上,可以更改SQLServer发出的邮件消息的系统配置 值。表 8-1列出了可以使用的选项。

 

 

(11)单击“配置系统参数”页面上的“下一步”按钮,进入向导的最后一页。在为向
导提供了合适的值后,它会显示一个摘要页面,列出已选择的选项。单击“完成”按钮将
提交更改,向导会返回一个说明每一步成功与否的快速报告。
8 .3 .3 配置数据库邮件选项
也可以使用sp_configure存储过程启用数据库邮件。在启用数据库邮件之后,可以使 用 sySmail_COnfigure_Sp 存储过程配置数据库邮件设置,其语法如下所示:
sysmail_configure_sp ( @parameter_name = ] * name' , [ @parameter_value « ] 1 valued , [ ^description » ] 'description1
和前面列出的选项类似,可以使用表8-2列出的参数值。

sysmail configure sp存储过程(和多数数据库邮件存储过程一样)存在于msdb数据库中<> 当执行这些存储过程时,必须在应用程序或T-SQL语句中对其名称进行完全限定。使用下
面这个例子将数据库邮件发送的所有附件的最大大小设置为4MB:
EXECUTE msdb.dbo.sysmail_configure__sp

,MaxFileSize,, •4194303', 'Max Size 4 MB1
提示:
description参数是可选的。尽管不是必须使用这个参数,但是使用它来定义或解释为 什么使用某个特定的配置值还是很好的做法。
8 .3 .4 管理配置文件和帐户
配置文件通常被用作SMTP帐户的管理单元。然而,如前所述,这两者并没有一对一
的关系。可以根据需要,使用数据库邮件配置向导或者一系列存储过程创建和删除配置文

件和帐户。
由于前面已经介绍了向导的各个部分,因此应该很容易通过不同页面按需要配置帐户
和配置文件。本节将介绍用于创建和管理数据库邮件帐户和配置文件的存储过程。
1. sysmail_add_profile_sp
首先应该了解的存储过程是sysmail_add_profile__spo 该存储过程允许创建一个供数据 库邮件服务使用的新配置文件,其语法如下所示:
sysmail一add」profile一sp [ @prof ile一name = ] ' name' , { ©description = ] 、desc,, [ @profile_id = ] profile_id OUTPUT
表 8-3列出了可用的选项。

创建一个新配置文件
下面的例子创建了一个新的邮件配置文件,并返回为配置文件ID生成的整数值。首先
声 明 profilejd的变量:
DECLARE @profileID INT; EXECUTE msdb.dbo.sysmail_add_profile_sp @profile_name =*HumanResourcesMail*, ^description = 'Mail Profile for the Human Resources team.1, @profile_id =@profileID OUTPUT ;
SELECT QprofilelD ;
注意SELECT语句返回的ID。您将在下一示例中使用它。
sysmail_help_profile_sp存储过程将返回有关在SQL Server上创建的配置文件的信息。
它会返回配i 文 件 ID、配置文件名称和说明(如果有的话)。也可以使用@prOfile_id或者 @prOfde_name变量将结果限制为感兴趣的特定配置文件。
EXEC msdb.dbo.sysmail_help_profile_sp @profile_id«2
可以査询msdb数据库中的sysmail_profile表,返回已创建的配置文件的信息。除了 sysmail_help_ profile sp存储过程返回的信息之外,还可以标识谁最后一个修改了帐户以及 修改的时间。
SELECT * FROM msdb.dbo.sysmail_profile

2. sysmail_add_account_sp
要创建一个新帐户,可以使用sysmail add account sp 存储过程。该存储过程会创建一 个不与配置文件关联的帐户。可使用另一个存储过程向配置文件中添加帐户,本章稍后会
对此进行讨论。
从数据库邮件配置向导中可以看到,创建帐户比创建配置文件要复杂一些,因为每个
服务器的帐户可能都不一样。表 8-4列出了可以和sysmail add account sp存储过程一起使 用的选项。

试一试

现在看一看创建新帐户的实际操作。使用T例创建一个新帐户:
DECLARE @accountID INT; EXECUTE msdb.dbo.sysmail_add_account_sp @account一name =*Mail Sender', ©description ='Generic Account for sending mail’ , @email_address = •mailsender@adventureworks.com', @display_name SQL Database Mail Account * r @mailserverename = *mail.adventureworks.com*, Qusername 3=*MailSender', ^password = 1P@ssw0rd1 , @account—id =@accountID OUTPUT ;
SELECT QaccountlD;

注意返回的帐户ID。在下一个例子中可以使用它。
若想获取有关已创建的帐广的更多信息,可以使用sysmail_help_account_sp存储过程。 它将提供帐户的有关信息,例 如 ID、姓名和该帐户的服务器&项7 使用@aCCOunt_id或 @account_name变量可将结果限制为一个特定的帐户。
EXECUTE msdb.dbo.sysmail_help_account_sp
要将输出限制为感兴趣的帐户,可以使用下列代码:
EXECUTE msdb.dbo.sysmail_help_account_sp @account_id=2
也可以査询sysmail_account表,返回一个已配置帐户的简单列表,其中包括说明最后 一次修改帐户的时间(datetime信息)和最后修改帐户的人员:
SELECT * FROM msdb.dbo.sysmail_account
3. sysmail_add_profileaccount_sp
现在已经创建了一个新的配置文件和一个新的帐户,可以把它们关联起来。记住,帐
户可以和多个配置文件关联,而每个配置文件也可以被配置为使用多个帐户。
要创建映射,可以使用sysmail_add_profileaccount_sp存储过程。这允许使用配置文件
名或配置文件ID以及帐户名或帐户ID将一个帐户映射到一个配置文件上。还可以指定的
另一个选项是帐户ID的顺序号。这用来确定该配置文件中帐户的优先级顺序,
由于这是一个相当简单的存储过程,您将看到两个使用之前创建的配置文件和帐户的
例子。
在第一个例子中,您将使用在数据库邮件配置向导中创建的帐户,并把它添加至在
sysmail_add_profile_sp存储过程示例中创建的配置文件。这个例子使用HumanResourcesProfile
的 profilejd,以及SalesAccount帐户的名称。只要声明了正确的参数,就可以轻松地进行 混合搭配。
EXECUTE msdb.dbo.sysmail_add_profileaccount_sp @profile_id -2, @account_name = •SalesAccount1, @sequence_number =1;
在下一个例子中,将 把 在 sysmail add account s p 存储过程中创建的帐户添加至 HumanResourcesProfile配置文件。只是这一次使用名称来引用配置文件,并 用 ID 号引用 帐户。
EXECUTE msdb.dbo.sysmail_add_profileaccount_sp @profile_name = 1HumanResourcesMail1, @account_id =2, @sequence_number =2;
要想知道帐户和配置文件之间存在何种映射,可以使用sysmail_help_profileaccount_sp存储
过程。可以使用@3<^011时记、@account_name、@profile_id 或者@profile_name 来限制结
果。返回的每一行都分别&识了配置文A ID、配置文件&称 、帐 户 ID、 户名称和帐户

的顺序号。
EXECUTE msdb.dbo.sysmail_help_profileaccount_sp
查 询 msdb数据库中的sysmail_profileaccount表会返回配置文件以及相关联帐户的ID,
而不是名称。查询还会返回帐户的顺序号以及最后修改的信息。
SELECT * FROM msdb.dbo-sysmail_profileaccount
4. sysmail_update_profile_sp
简单地说,可以使用这个存储过程更改现有配置文件的名称或说明。如果更改配置文
件的说明,可 以 使 来 引 用 它 。如果想更改配置文件的名称,
可以使ffi@profile_id。
使用下面的例子更改之前创建的HumanResourcesMail配置文件的名称和说明。假设除 了 例 子 中 使 用 的 帐 户 和 配 置 文 件 之 外 ,没 有 创 建 任 何 新 的 帐 户 或 配 置 文 件 , 则
HumanResourcesMail 的 profile id 应当是 2。
EXECUTE msdb.cibo.sysmail_update_profile_sp ^profile一id =2, @profile_name = * HRMail', ^description = * Human Resources Mail Profile *; EXECUTE msdb.dbo.sysmail_help_profile_sp;
产生的结果如下所示:
profileid name description
1 2
AdventureWorksSalesProflie NULL HRMail Human Resources Mail Profile
5. sysmail_update_account_sp
在创建了一个邮件帐户之后,可使用此存储过程更新其属性。和配置文件不一样,帐户
有更多的参数可以在需要时进行修改或调整。可以使用和sysmail_add_account_sp过程相同的
参数,另外,与 sysmail_update_profile_sp 过程类似,可以通过 account name 或 account id 标
识帐户。
在本例中,重新配置了 SalesMail帐户的名称、replyto_address和说明。不过,使用这 个存储过程时,不能挑选想要更新的值,而必须为所有的参数指定值,如下所示:
EXECUTE msdb.dbo.sysmail一update_account_sp @account_id =1, @account_name = 1SalesMail*, @display_name = ’Microsoft SQL Server - AughtEight?, @replyto address = 1administrator@adventureworks•com', Qdescription = * Sales Mail Account *, @mai1server_name ='AughtEight *, @mailserver一type =•SMTP *,

看一看这个存储过程的实际运用。在第一个例子中,创建一个带有一个新帐户的新配
置文件。然后确保该配置文件是公共配置文件。
- - Create the profile EXECUTE msdb.dbo.sysmail_add_profile_sp @profile_name = * Purchasing', ©description = * Purchasing Mail Profile';
—— Create the account EXECUTE msdb.dbo.sysmail_add_account_sp @account_name = •PurchasingMail', ©description = * Purchasing Mail Account', @email_address ='purchasing@adventureworks.com*, 0display_name = *AdventureWorks Purchasing Application', @mailserver— name = 'localhost*, @use_default_credentials =1;
- - Associate the profile and the account EXECUTE msdb.dbo.sysmail_add_profileaccount_sp @profile_name = 1 Purchasing*, @account_name = * PurchasingMail•, @ sequence_number =1;
- - Make the profile public EXECUTE msdb.dbo.sysmail_add_principalprofile_sp @principal_name = •public ’, @profile__name =* Purchasing1 , @is_default =0;
要 査 看 安 全 性 配 置 ,可 以 使 用 sysmail_help_principalprofile_sp存 储 过 程 。可以指定
principal_id、principal name、profile id 和/或 profile name。注 意 ,对 于 前 述 每 一项 ,应当
只 提 供 ID 或名称, 不是两者都提供。例如,如果想要査看哪些配置文件是public角色 可用的,可以使用下面的例子:
EXECUTE msdb.dbo.sysmail_help_principalprofile_sp @principal_name =*public’;
如果您一直都是按照本章的步骤进行的,应当可以看到如下结果:
principal__id principal__name profile_id profile_name is_default 0 public 1 AdventureWorksSalesProfile 1 0 public 3 Purchasing 0
如 果 不 使 用 任 何 参 数 执 行 sysmail_help_principalprofile_sp存 储 过 程 (例 如 前 例 中 的 principal name), 它 会 返 回 guest帐 户 而不是public角色的结果。这并不奇怪,因为如果谓 求者 在 msdb数据库没有用户映射,那么就会使用guest帐户(如果可用)。

在下一个例子中,您将学习如何创建一个新的配置文件、新帐户和名为AWOrderProcessing 的新数据库用户。之后将看到如何将这个新的配置文件配置为该用户的默认配置文件。

- - Create the user 一 -In the real world, you would map this to an existing server credential.
USE msdb CREATE USER AWOrderProcessing WITHOUT LOGIN;
GO
- - Create the profile EXECUTE msdb.dbo.sysmail_add_profile sp @profile一name = "OrderEntry', ^description = *OrderEntry Mail Profile *;
- - Create the account EXECUTE msdb.dbo.sysmail_add_account_sp @account_name = 1Orders *, ^description = 1 Order Entry Primary Mail Account1, @email_address = *ordersQadventureworks.com*, @display_name = *AdventureWorks Purchasing Application’, @replyto_address = * administrator@adventureworks.com', @mailserver_name = *localhost', @use_default_credentials =1;
- - Associate the profile and the account EXECUTE msdb. dbo. sysmail_addjprofileaccount__sp @profile_name = * OrderEntry *, @account_name = 'Orders', @sequence_number =1;
--Configure the purchasing account as a backup account EXECUTE msdb.dbo.sysmail_add_profileaccount_sp @profile_name =*OrderEntry', @account_name = 1PurchasingMail', @ sequence_number =2;
- - Make the profile available to the AWOrderProcessing user EXECUTE msdb.dbo.sysmail_add_principalprofile_sp @principal_name =AWOrderProcessing, @profile_name = , OrderEntry', @is_default =1;
- - Show which profiles the AWOrderProcessing user has access to.
EXECUTE msdb.dbo.sysmail_help_principalprofile_sp @principal_name ='AWOrderProcessing*;
在返回AWOrderProcessing用户可用的配置文件列表时,应当注意该用户也可以使用
public角色可用的配置文件。另夕卜,public角色和AWOrderProcessing用户各自有一个默认
的配置文件。当一个数据库用户或一个非公共的角色定义了一个默认的配置文件时,如果
没有指定配置文件,就会使用该配置文件。如果用户或角色没有指定默认配置文件,则将
使用public角色的默认配置文件。

8. sysmail_update_principalprofile_sp
每个主体只能具有一个默认配置文件。如果需要更改默认配置文件,可以使用
sysmail_update_principalprofile_sp 存储过程。与 sysmail_add_principalprofile_sp 类 似 ,可以通过
名称或ID 标识主体和配置文件。但是使用该存储if 程只能更改@is_default参数。使用前 一个例子,如果更改了 AWOrderProcessing的吻8_(^ 3 1 ^ 选项,那么用户就需要手动指定合 适的配置文件。否则,在这种情况下,将使用public角色的默认配置文件。
- - Remove the default profile for AWOrderProcessing EXECUTE msdb.dbo.sysma il_update_principalprofile_sp @principal_name =AWOrderProcessing, @profile^id =4, @is_default =0;
- - Show which profiles the AWOrderProcessing user has access to.
EXECUTE msdb.dbo.sysmail一help_principalprofile__sp @principal_name =*AWOrderProcessing*;
9. sysmail—delete_principalprofile_sp
如果需要删除一个主体和一个配置文件之间的关联,可 以 使 用 sysmail_delete^ principalprofile_sp存储过程。注意,这并不会从数据库中删除主体或配置文件,而是删‘ 这两者之间的显式映射。如果必须删除public角色对特定配置文件的访问,就可以使用这 个存储过程。其语法相当简单,只需指定主体和配置文件;同样,对于它们可以使用名称
或 ID 值。使用下例从public角色中删除Purchasing配置文件:
EXECUTE msdb.dbo.sysmail__delete_principalprofile_sp @principal_name = 'public', @profile_name = * Purchasing1 ;
EXECUTE msdb.dbo.sysmail__help__principalprofile_sp @principal_name = 'public*;
10. sysmail_delete_profileaccount_sp
如果希望从一个配置文件中删除一个帐户,只需使用sysmail_delete_profileaccount_sp
存储过程即可。使用这个存储过程时,需要通过名称或ID 指定配置文件和帐户。下面的
示例从OrderEntry配置文件中删除了 Orders帐户:
EXECUTE msdb.dbo.sysmail__delete_profileaccount_sp (^profile一name = "OrderEntry', @account一name = ■Orders'; EXECUTE msdb.dbo.sysmail_help_profileaccount_sp;
11. sysmail_delete一account_sp
要从msdb数据库中完全删除一个帐户,可以使用sysmail_delete_account_sp存储过程。
这不仅会删除帐户,还会删除配置它的配置文件中对该帐户的所有引用,如下例所示。如果

 

要删除的帐户楚配a 文件中唯一的帐户,那么配置文件将被保留f来,但将成为空配置文件。
EXECUTE msdb. dbo. sysmail__delete_account sp @account name =*Orders *;
EXECUTE msdb.dbo.sysmail_help_account_sp;
12. sysmail_delete_profile_sp
最后,要 从 m sdb数据库中删除一个配置文件,可以使用sysmail_delete_profile_sp存
储过程。这会删除配置文件,但不会删除其中的帐户。这是因为其他配置文件可能i 用了 这些帐户。
EXECUTE msdb. dbo. sysmail_delete_profile sp @profile_name = *OrderEntry'; EXECUTE msdb.dbo.sysmail_help_profileaccount_sp;
8 .3 .5 删除邮件对象的指导原则
通常,在删除帐户或配置文件时要小心。如果要删除-个帐户、配置文件或帐户映射,
清记住下列指导原则:
• 删除配置文件/帐户映射并不是破坏性的,它只是把配置文件和帐户之间的关系删
除。如有需要,可以很方便地重新创建这种关系。如果在该配置文件中正确配置
了另一个帐户,这一删除操作不会打断该帐户的操作。
• 删 除 一 个帐户会使其在所有配置文件中不可用。如果配置文件已经配置了另一个
有效的帐户,该帐户不会受到影响。如果所删除的帐户是一个或多个配置文件中
的唯一帐户,那么这些配置文件将无法发送邮件。
• 删 除一个配置文件会删除已配S 帐广的列表,而不是帐户本身。但是,如果应用程
序被配置为使用一个最近删除的邮件配置文件,那么SQL Server也将无法发送消息。