1

我有 4 个 SQL 服务器:SQL Server 2005、SQL Server 2008、SQL Server 2008 R2 和 SQL Server 2012。

在 SQL Server 2008 R2 中;我创建了一个 SQL 作业,它每周一向我发送电子邮件,其中包含来自 SQL Server 2005、SQL Server 2008 和 SQL Server 2008 R2 的关于 3 个月以前的数据库的报告,并且运行良好。

但是,现在我想添加 SQL Server 2012,作业失败并出现以下错误:

以用户身份执行:NT AUTHORITY\SYSTEM。配置选项“显示高级选项”从 1 更改为 1。运行 RECONFIGURE 语句进行安装。[SQLSTATE 01000](消息 15457)配置选项“Database Mail XPs”从 1 更改为 1。运行 RECONFIGURE 语句进行安装。[SQLSTATE 01000](消息 15457)附件文件 \\ServerName\ShareName\Path\SQL2012_DB.csv 无效。[SQLSTATE 42000](错误 22051)。步骤失败。

如果我在 SQL Server 2012 上创建相同的作业,我会发现它SQL2008R2_DB.csv是无效的。

以下是 SQL Server 2008 R2 上作业的步骤:

sp_CONFIGURE 'show advanced', 1
GO

RECONFIGURE
GO

sp_CONFIGURE 'Database Mail XPs', 1
GO

RECONFIGURE
GO

USE msdb
GO

EXEC sp_send_dbmail 
  @profile_name='SQL2008R2',
  @recipients=my.email@mail.com',
  @subject='Old DBs',
  @body='DBs attached in csv',
  @file_attachments='\\ServerName\ShareName\Path\SQL05_DB.csv;\\ServerName\ShareName\Path\SQL2008_DB.csv;\\ServerName\ShareName\Path\SQL2008R2_DB.csv;\\ServerName\ShareName\Path\SQL2008R2_DB.csv'

是我缺少的 SQL Server 2008 R2 和 SQL Server 2012 之间的权限问题还是其他原因?

4

1 回答 1

1

好的,所以问题是 SQL 服务帐户无权访问共享文件夹。这就是为什么我得到错误"Attachment file \\ServerName\ShareName\Path\SQL2008R2_DB.csv is invalid."

现在它工作得很好;)

于 2015-05-28T08:33:44.360 回答