我有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 AUTHORITYSYSTEM执行。配置选项'显示高级选项'从1更改为1。运行RECONFIGURE语句进行安装。[SQLSTATE 01000](消息15457)配置选项'Database Mail xp '从1更改为1。运行RECONFIGURE语句进行安装。[SQLSTATE 01000] (Message 15457)附件文件\ServerNameShareNamePathSQL2012_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='\ServerNameShareNamePathSQL05_DB.csv;\ServerNameShareNamePathSQL2008_DB.csv;\ServerNameShareNamePathSQL2008R2_DB.csv;\ServerNameShareNamePathSQL2008R2_DB.csv'
是SQL Server 2008 R2和SQL Server 2012之间的权限问题,我错过了还是别的什么?
好的,所以问题是SQL服务帐户没有访问共享文件夹的权限。这就是为什么我得到了错误"Attachment file \ServerNameShareNamePathSQL2008R2_DB.csv is invalid."
现在可以正常工作了;)