附件文件\\ SERVER \ file.csv无效。 [SQLSTATE 42000](错误22051)。步骤失败

时间:2015-05-27 09:36:54

标签: sql-server attachment sql-server-agent sp-send-dbmail sql-job

我有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。配置选项'show advanced options'从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之间的权限问题还是其他问题?

1 个答案:

答案 0 :(得分:1)

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

的原因

现在它工作得很好;)