INF: SQL 邮件常见问题

文章翻译 文章翻译
文章编号: 315886 - 查看本文应用于的产品
本文的发布号曾为 CHS315886
展开全部 | 关闭全部

本文内容

概要

本文使用的问题和答案格式标识常见的问题时可能会使用 SQL 邮件,并为您提供与如何更正或解决这些问题的一些提示。大量大部分 SQL 邮件相关的问题是由于不正确的配置。 有关如何正确配置 SQL 的其他信息邮件,请单击下面的文章编号,以查看 Microsoft 中的文章知识文库:
263556 INF: 如何配置 SQL 邮件
本文假定的在 Q263556 中提供的背景信息。除非另有说明,注释在本文中有关 SQL 邮件也适用于 SQLAgentMail。

更多信息

请检查您的配置

更正不正确的配置可以解决大量大多数 SQL 邮件问题。若要确保您具有 SQL 邮件配置正确,请使用此列表:
  • 您必须具有邮件客户端 (如 Microsoft Outlook)在运行 SQL Server 的计算机上安装。
  • 对于 Microsoft Outlook 2000 中使用企业或工作组选项 (Microsoft Outlook 2002 不会没有企业或工作组选项)。若要选择的选项,在工具菜单上,单击选项,然后双击邮件服务选项卡。在邮件服务对话框中,单击邮件支持命令。Microsoft Outlook 2002 并不适用于 SQL 邮件时使用 Internet 邮件服务器,除非 Outlook 客户端仍在运行时所有的时间。
  • 您必须具有如 Microsoft 工作邮件服务器Exchange 或 Internet 邮件 (邮局协议 3 [POP3] 或简单的邮件传输协议 [SMTP]) 服务器。发送邮件的 SMTP 服务器不需要与接收邮件 POP3 服务器。但是,您必须是有效的配置的邮件帐户,即使您不打算与接收邮件服务器将邮件发送到 SQL 的邮件。
  • 必须启动 SQL Server 服务使用的帐户如果您使用的 Exchange 服务器,可以是域帐户。域帐户必须有一个邮箱的 Exchange 服务器上。如果您正在使用 Internet 邮件服务器,您可以使用本地帐户启动 SQL Server。但是,该帐户若要开始使用 SQL Server 不能为本地系统帐户,在任何情况。这同样适用于用来启动 SQL 服务帐户如果您使用的 SQLAgentMail 的代理。
  • 由于邮件配置文件是与 Microsoft 无关Windows 登录帐户,您必须登录到计算机上运行 SQL与 SQL Server 服务启动帐户,以检查邮件服务器可用于 SQL Server 的配置文件。例如,打开控制面板。在控制面板对话框中,双击邮件。在邮件对话框中,双击显示配置文件。如果您使用的 SQLAgentMail 和 SQL 代理服务帐户是不同于 SQL Server 的服务帐户,您必须也使用登录要检查邮件配置文件可用于 SQL 代理服务启动帐户SQL 代理。
  • 您必须能够打开邮件客户端并测试发送然后,接收到邮件服务器的电子邮件。任何对话框或消息应显示的不需要用户执行操作。SQL 邮件使用邮件客户端发送邮件。由于 SQL 邮件运行 SQL Server 服务中,任何对话框,要求用户交互的桌面上显示"虚拟"并不会收到答复。没有响应会导致 SQL 停止响应 (挂起) 的邮件。
  • 您必须提供 SQL 邮件用于测试邮件配置文件邮件客户端配置。为此,请在企业管理器中,打开支持服务文件夹。在支持服务文件夹中,用鼠标右键单击SQL 邮件,然后单击属性。如果您使用 SQLAgentMail,您必须提供的邮件配置文件SQL 代理。为此,请在企业管理器中,打开管理文件夹, SQL 代理,用鼠标右键单击,然后单击属性
  • 默认的 Internet 电子邮件程序必须相同用于测试邮件配置邮件客户端。若要确保您具有正确的程序,打开控制面板,双击Internet 选项,然后单击程序选项卡。
  • 对于任何上述更改生效,您必须停止和重新启动 SQL Server 服务。如果您重新配置默认值邮件配置文件,您必须重新启动计算机以使更改生效。

常见问题

经常遇到的与 SQL 邮件相关的问题的列表客户如下所示。在一个问题进行讨论的各种问题和问答的形式。尽管不的发生频率顺序列出的问题类似的问题会组合在一起。这些问题的答案不能说明每个可能的原因。但是,它们确实反映了某一特定的主要原因问题。

第 1 季度: 为什么未 SQL 邮件停止工作后我升级到 SQL Server 2000年?

A1: SQL Server 2000年引入了重大更改,SQL 的邮件。"主要变化是 SQL 邮件现在使用扩展的邮件应用程序编程接口 (MAPI) 代替简单 MAPI。 有关简单之间的差异的其他信息扩展 MAPI,单击下面的文章编号,以查看在文章微软知识文库:
200018 信息: CDO、 简单 MAPI 和扩展的 MAPI 之间的差异
如果您使用的 SQL Server 2000 中,Microsoft强烈建议您应用 Microsoft SQL Server 2000 Service Pack 2(SP2),或更高版本,您尝试使用 SQL 邮件之前。

第 2 季度: 为什么未 SQL 邮件停止使用 Microsoft Outlook 的升级或应用 Outlook 安全修补程序后?

A2: Outlook 2000 电子邮件安全更新在 2001 年 8 月发布防止传播通过将自身发送的电子邮件蠕虫的传播您的通讯簿中的每个人。非 Outlook 时,会检测到此安全修补程序程序发送一封电子邮件,将出现一个对话框,并显示以下消息:
一个程序正试图自动发送电子邮件,您代表。您想允许这样做吗?
您必须单击如果您要发送的邮件。

SQL SQL Server 的邮件6.5 和 SQL Server 7.0 将被视为非 Outlook 程序尝试发送邮件。但是,这是因为在 SQL Server 服务中,调用 SQL 邮件对话框的发送到"虚拟机"的 SQL Server 服务和不显示在服务器上。由于无需用户交互发生,因此 SQL 邮件停止响应。

可以与宽松的安全功能您的 Exchange 管理员 ; 协助但是,更好的解决方案是为升级到 SQL Server 2000年。SQL SQL Server 2000年中的邮件会使扩展的 MAPI连接,跳过安全对话框。 有关其他信息Outlook 安全修补程序,请单击下面的文章编号,以查看在文章Microsoft 知识库:
262631 OL2000: 有关 Outlook 电子邮件安全更新的信息
Microsoft Outlook 2002 包括安全性在 Outlook 2000 安全更新中找到的功能。

如果您是已在使用 SQL Server 2000年和 SQL 邮件停止工作后升级到Outlook 2002 中,您可能正在使用 Internet 邮件服务器。您可以配置 Outlook 的早期版本,以便您可以发送邮件的Microsoft Windows 服务。若要使用时提高性能Microsoft 的进程空间中运行的非 Exchange 邮件,邮件的后台打印程序Outlook 2002 中,这要求是在所有打开的 Outlook 客户端时间时您可以为非 Exchange 服务器发送邮件。如果您不想让 Outlook2002 客户机在所有时间 (需要您登录到服务器上运行到服务器),必须使用与您的邮件服务器的 Exchange 服务器或回滚返回到 Microsoft Outlook 的早期版本。

第 3 季度: 我如何知道是否我有我的服务器上安装的 Outlook 安全修补程序?

A3: 单击 Outlook帮助菜单上的Microsoft Outlook 有关。如果您的 Outlook 2000 的版本是 9.0.0.4201 或更高版本,然后在安装了 Outlook 电子邮件安全更新。

第 4 季度: 如何防止 SQL 邮件悬挂如果我使用 Outlook 的安全修补程序或我正在使用 Outlook 2002?

A4: 您必须使用您的 Exchange 管理员可以更改默认安全设置。确切的过程取决于您正在使用Outlook 2000 或 Outlook 2002 (Office XP 提供)。 有关更改 Exchange 的其他信息安全设置,单击下面的文章编号,以查看的项目中微软知识文库:
263297 OL2000: 有关 Outlook 电子邮件安全更新的管理员信息
290499 OL2002: 有关电子邮件安全功能的管理员信息
问题 5: 为什么我的外发邮件卡在收件箱?

A5: 此问题很有可能会使用 Outlook 2002 中出现。若要提高了 Internet 电子邮件的性能,Office 开发小组移动邮件打印后台处理程序为非 Exchange 邮件的到 Outlook 进程空间。您必须具有Outlook 客户端打开发送传出电子邮件。此问题不会影响电子邮件发送到 Exchange 服务器的 Outlooks 发送。

您还可以当您使用 Outlook 2000 时,将出现此问题。在此情况下,很可能是原因是未提供工作 POP3 服务器作为传入的邮件在邮件配置文件中的服务器。

Q6: 为什么我的外发邮件卡在发件箱?

A6:与以前的电子邮件客户端 (如经常出现此问题Microsoft Windows 消息和 Microsoft Outlook 97。这些邮件客户端的永远不应调用从 Windows 服务 (如 SQL Server。 其他信息,请单击下面的文章编号,以查看 Microsoft 知识中的文章基址:
237913 不适合运行 Windows 服务中的信息: Outlook 对象模型
这些邮件客户端程序目前已过时,因此您应该不会再遇到此问题。但是,如果是,您可以请与 Microsoft 产品支持服务联系获取修复程序。

Q7: 为什么我不具有任何已发送的邮件已发送邮件文件夹中。

A7:SQL SQL Server 6.5 和 SQL Server 7.0 的邮件将保存的副本在 Outlook 中,这是默认行为,使用简单的已发送邮件文件夹中已发送的邮件MAPI 接口。即使您通过清除 Outlook 邮件客户端中的保存已发送邮件文件夹中的邮件的副本选项来禁用此选项,该选项将被忽略。

使用扩展的 MAPI 写入 SQL SQL Server 2000年的邮件接口,而不会,不保存在已发送邮件文件夹中的已发送邮件的副本。如果您需要 SQL 邮件发送的邮件的副本您必须从 SQL Server 2000,抄送: 给自己,并创建 Outlook这些邮件路由到已发送邮件文件夹的邮件规则。

Q8: 为什么我的邮箱已满但看不到已发送邮件文件夹中的任何邮件?

A8: 在 7.0 的 SQL Server 和 SQL Server 2000年,则可以在在已发送邮件文件夹中的已发送邮件的副本保存SQL Server 代理属性窗口。如果您不选择该选项会 SQL 邮件保存的副本SQL Server 代理的 Exchange 服务器的根文件夹中的邮件。当邮箱已满、 xp_sendmail存储过程可能无法发送电子邮件,并返回错误0x80040403 或 MAPI_E_TABLE_TOO_BIG 错误消息,以及其他。

您不能从 Microsoft SQLAgentMail 的副本,请参阅Outlook,需要使用 Microsoft Exchange 实用工具 MDB 查看器查看然后删除这些邮件。 有关如何更正此问题的其他信息问题,请单击下面的文章编号,以查看 Microsoft 中的文章知识文库:
261133 修复: DTS"发送邮件"邮箱已满,Outlook 不能查看或删除电子邮件
308758 修复: SQL 代理邮件可能会导致写入到根区目录中的源邮箱的电子邮件
Q9: 为什么不 SQL 邮件删除我的电子邮件附件?

A9:如果如此@ attach_resultsxp_sendmail存储过程运行查询,附件中创建的临时文件会留在在其中安装 Windows 操作系统的 System32 目录。这与所有版本的 SQL Server 现象。 有关此问题的其他信息,请单击下面文章编号以查看 Microsoft 知识库中相应的文章:
151545 错误: xp_sendmail @ 查询保留临时文件在服务器上
Q10: 为什么没有邮件配置文件中列出 SQL 邮件属性中的下拉列表框?

A10:一个可能的原因是运行该服务的 SQL Server在配置为使用本地系统帐户启动。在本地系统帐户不会不具有 Windows 登录与之关联。因此,没有邮件配置文件可以配置为 SQL Server。请参阅 在此项目中的部分选择正确的服务启动帐户的说明。

另一个可能的原因是没有用来启动帐户的邮件配置文件MSSQL 服务器服务。若要配置邮件配置文件中使用 SQL Server邮件,您必须首先登录到 Windows 计算机上 SQL Server使用相同的登录名和密码用来启动 MSSQL 服务器运行服务。

您可能没有 Microsoft Outlook 设置为默认电子邮件客户端。请参阅 一节中的说明检查您的默认电子邮件程序。
Q11: 为什么工作 SQL 邮件只工作时我已登录到服务器

A11:这表明您没有正确配置的 SQL 邮件。请按照本文 一节,以检查有 SQL正确配置的邮件。例如,工作 POP3 (接收邮件) 服务器可能未提供为邮件配置。

另一个原因可能是您正在使用 Outlook 2002 与 Internet 邮件服务器。Outlook 2002 在处理非 Exchange 服务器交换不同服务器。因为邮件假脱机程序从 Outlook 进程空间中运行对于非 Exchange 邮件服务器,您必须在运行 Outlook 2002 客户端若要发送 Internet 邮件的顺序。当您登录的服务器时,Outlook 客户端关闭并不会再发送邮件。要解决此问题,您必须使用Outlook 2000 或 Exchange 服务器的交换机。

问题 12: 为什么那么 SQL 邮件停止响应 (挂起)?

A12:如果 SQL 邮件定期在挂起,最可能的原因是丢失连接到邮件服务器。经验表明 SQL 邮件是多个可能会停止响应时,将使用 Internet 邮件 (POP3/SMTP) 服务器,但它还可以停止响应,如果 Exchange 服务器的连接无法正常工作。

会发生什么情况是邮件客户端试图连接到邮件服务器。如果连接失败,来自邮件客户端的邮件此时将显示用户操作,继续或取消请求。"在服务器上没有出现消息,因为运行 SQL SQL 邮件服务器服务。未出现一条消息,因为任何用户操作和SQL 邮件无限期等待。即使您重新建立网络连接,SQL 邮件不会自动重置,然后重试。您必须停止并重新启动您可以重新发送邮件之前的 SQL Server 服务。

另一个可能停止响应的 SQL 邮件是因为新的 Outlook安全功能,当非 Outlook 应用程序发送电子邮件时,会发出警告。SQL SQL Server 6.5 和 SQL Server 7.0 的邮件将此类非 Outlook应用程序。如果出现安全对话框窗口的 SQL 邮件发送时,这具有相同的效果,使 SQL 邮件停止响应的一样邮件服务器的连接已丢失。

Q13: 如何判断对话框消息是否会导致 SQL 停止响应的邮件?

A13:因为 SQL 邮件通过 SQL Server 服务中,运行任何上不显示对话框消息会导致 SQL 停止响应的邮件您的桌面。若要确定是否导致 SQL 邮件对话框消息,您必须作为控制台应用程序,而不是作为一项服务,请运行 SQL Server。为此,请使用这些步骤如下:

  1. 使用相同的帐户用于登录到 Windows 服务器上启动 SQL Server 服务。
  2. 打开一个命令提示符窗口。如果您使用的 SQL Server您必须为可执行文件的文件的目录导航 2000 中,您安装 SQL Server 实例。
  3. 通过执行此应用程序启动 SQL Server命令:

    sqlservr-c

    注意: 为 SQL Server 2000 中,如果您使用命名的实例,则必须添加实例名称与-s
  4. 连接到使用查询分析器中,SQL Server,然后运行xp_sendmail扩展存储的过程来测试发送一封邮件。如果您将不使用 SQL Server 2000年,您可能需要运行xp_startmail扩展存储的过程之前尝试启动 SQL 邮件发送邮件。
  5. 如果出现一个对话框,您必须解决问题然后您可以使用 SQL 邮件。
Q14: 为什么必须使用邮件通知停止工作的计划的作业?

A14:SQLAgentMail 还可以停止响应时调用SQL 代理中计划的作业。对于大多数问题 13 的响应,请参阅常见原因会导致 SQL 停止响应的邮件。例如,当这是作业的 SQLAgentMail 页中的运算符的计划完成后,同步调用。如果邮件服务器的连接停止响应,为如果由于某种原因,然后执行的命令来发送邮件的作业调度程序问题之前,可以运行停止响应并没有其他计划的作业更正和 SQL Server 代理程序将停止并重新启动。

Q15: 为什么收到"Mapi 登录失败"消息?

A15:"Mapi 登录失败"消息通常意味着 SQL 邮件找不到邮件配置文件用来启动。请按照安装核对表在中 一节,以确保正确有 SQL 邮件配置。

另一个原因是您的邮件配置文件已损坏或配置文件的名称大于 32 个字符。您可能需要尝试删除的邮件配置文件之后再重新创建具有较短的名称,确保可以使用邮件配置文件。

Q16: 为什么收到"常规 mapi 失败"消息?

A16:"常规 mapi 失败"消息通常因为SQL 邮件配置不正确。请按照本文 部分若要确保您已正确配置的 SQL 邮件这篇文章。

Q17: 为什么在我 SQL Server 错误日志中看到错误 1073759806 和 1073759778?

A17:如果启动 SQL 邮件通过使用xp_startmail扩展存储的过程在 SQL Server 2000 中,您将看到在您的 SQL Server 错误日志中的以下错误消息:

错误: 1073759806,严重性: 1,状态: 0 开始 SQL 邮件会话...
错误: 1073759778,严重性: 1,状态: 0 SQL 邮件会话已启动。
这些是信息性消息 (严重性 = 1) 由于消息从xp_startmail开始 SQL 邮件。使用 SQL Server 2000 时,SQL 邮件自动启动时运行xp_sendmail,因此不需要使用xp_startmail 。您可以忽略这些消息。

Q18: 为什么会收到邮件错误 0x80040111 (或类似的十六进制数字) 当我尝试发送邮件?

A18:解决此问题的第一步是确定与此十六进制错误号相关联的错误消息。MAPI 不转换错误为字符串,因此 SQL 邮件仅返回的错误号的数字。 有关其他信息如何解释MAPI 的返回代码,请单击下面的文章编号,以查看在文章微软知识文库:
238119 信息: 代码列表的扩展的 MAPI 数值结果
当您查看十六进制值 0x80040111 时,您将看到这对应于 MAPI 错误消息 MAPI_E_LOGON_FAILED,其中指明 SQL 邮件无法使用提供的邮件配置文件登录。您可以采取纠正措施,根据错误消息。

不,反之亦然,Q19: 为什么 SQL 邮件有效,但是 SQLAgentMail 呢?

A19:一种可能是在 SQL Server 和 SQL 代理服务开始使用不同的帐户。更改服务的启动帐户这样不能启动的服务相同的帐户的邮件,邮件可以正常工作。停止和重新启动之前测试的服务此更改可以解决此问题。

注意: 如果您使用 Internet 邮件服务,使用 SQL 邮件个人存储区文件 (.pst) 用于存储来自下载的电子邮件POP3 服务器。使用此邮件配置文件的任何服务使用此.pst 文件如果邮件 SQL 和 SQL 代理邮寄两个冲突会使用相同的邮件配置文件。 对于其他信息,请单击下面的文章编号,以查看在文章Microsoft 知识库:
313969 PRB: 错误无法打开.pst 文件 SQL 邮件上使用 POP3 服务器配置文件,则会发生
另一种可能是配置文件不同的结果。服务帐户是相同后,更改邮件实用程序要使用相同的邮件配置文件正在使用不工作的。停止,并然后重新启动之前测试程序纠正了此更改的服务问题。

请务必认识到 SQL Server 6.5 的 SQL 的邮件和 SQL Server 7.0 使用简单 MAPI,而 SQLAgentMail 使用扩展的 MAPI。一些邮件客户端仅支持简单 MAPI,带有 SQL 的邮件,但不是能SQLAgentMail。 邮件客户端上的其他信息支持用于 SQL 的邮件,请单击下面的文章编号,以查看Microsoft 知识库中相应的文章:
311231 INF: 常问的问题-SQL Server-SQL 邮件
默认邮件客户端也会影响SQL 邮件的操作。请参阅 部分以了解有关如何检查和更改默认邮件程序。

Q20: 为什么不会测试按钮告诉我它可以启动和停止 SQL 邮件与我配置文件,但我不能启动 SQL 邮件吗?

A20:SQL 邮件(或SQLAgentMail) 的属性对话框中的测试按钮只测试您可以使用所提供若要启动 SQL 邮件的邮件配置文件。它不能保证将使用 SQL 邮件该配置文件。这是因为在某些情况下,SQL 邮件可能会忽略提供的邮件配置文件,可能仍然会使用指定的默认邮件客户端。例如,如果默认邮件客户端是 Outlook Express,和 Outlook Express未配置的服务器上,SQL 邮件可能会尝试在启动期间,使用它,然后 SQL 邮件将无法正常工作。

很重要的在服务器上的默认邮件客户端被用来为相同的邮件客户端配置邮件配置文件提供给 SQL 的邮件。请参阅 部分如何检查和更改默认邮件程序的说明。

Q21: 为什么 SQL 邮件不在我的群集服务器上的故障切换吗?

A21:因为群集的 SQL Server 不支持 SQL 邮件不支持群集的 MAPI SQL 邮件所使用的接口。 对于其他信息,请单击下面的文章编号,以查看在文章Microsoft 知识库:
298723 错误: SQL 邮件不完全支持与群集虚拟 SQL 服务器一起使用
Q22: 为什么 SQL 邮件不适用于通讯组列表?

A22:SQL 与 SQL Server 6.5 和 SQL Server 7.0 的邮件可以发送通过使用通讯组列表的邮件。SQL 的邮件的通讯组列表的使用SQL Server 2000年只能在特定配置中。 有关其他信息,请单击下面的文章编号以查看 Microsoft 知识库中相应的文章:
315666 错误: 无法将邮件发送到个人通讯组列表 XP_SENDMAIL

属性

文章编号: 315886 - 最后修改: 2012年3月30日 - 修订: 1.0
这篇文章中的信息适用于:
  • Microsoft SQL Server 2000 标准版
  • Microsoft SQL Server 6.5 标准版
  • Microsoft SQL Server 7.0 标准版
关键字:?
kbhowto kbinfo kbmt KB315886 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 315886
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com