内容简介:一批Reporting Service报表的订阅突然报如下错误:Failure sending mail: The user or group name 'xxx\xxxx' is not recognized.Mail will not be resent.原因如下,因为开发这批报表的人(也就是报表的创建者)离职了,然后他的NT账号在DC里面被系统管理员删除了。自然就没有权限将订阅的相关内容通过邮件推送给订阅者。
一批Reporting Service报表的订阅突然报如下错误:
Failure sending mail: The user or group name 'xxx\xxxx' is not recognized.Mail will not be resent.
原因如下,因为开发这批报表的人(也就是报表的创建者)离职了,然后他的NT账号在DC里面被系统管理员删除了。自然就没有权限将订阅的相关内容通过邮件推送给订阅者。
The user account and password you specify in the Email settings page should have permissions to send email using SMTP server.
解决方法也很简单,右键单击报表的 “ 管理 ” ,进入 “ 订阅 ” ,将这个订阅删除,然后新建一个订阅。问题就解决了。当然 “ 新建订阅 ” 的人必须有相关权限。
解决了这个问题。Support的同事又问了一个问题,能否用 SQL 脚本批量修改呢,因为有几十个报表,手工修改也确实很麻烦?另外,能否将报表的Owner(创建者)修改为其它用户呢? 花了点时间研究这个问题,备份了一个报表,然后测试发现可以通过SQL来完成这些操作,下面步骤仅供参考, 谨记:这里的操作步骤,不能保证没有任何问题,因为没有官方资料支持,仅仅是个人实验测试,也没有大量测试验证。也没有在生产环境使用。仅供参考 。
1:修改报表的创建者:
在Reporting Service管理界面是无法修改报表的创建者的。但是使用SQL简单、轻松。
SELECT ItemID, Path, Name, CreatedByID FROM dbo.Catalog WITH(NOLOCK) WHERE Name= N'xxx'; SELECT * FROM dbo.Users WHERE UserName='xxxx'; UPDATE dbo.Catalog SET CreatedByID ='CDF7C7C8-CBE2-4C42-BDF0-6FA2A5019F50' WHERE Name= N'xxx';
2: 修改报表订阅的创建人
可以不用通过“删除订阅,然后创建订阅”的方式解决问题,而是直接修改 [dbo].[Subscriptions]表里面订阅的OwnerID即可。修改后,你从管理界面还会看到这个错误,等到下一次订阅执行后,LastStatus字段值就会被更新。当然,你也可以手工更新这个字段的值,如果你不想看到这个错误提示的话!
SELECT * FROM dbo.Users WHERE UserName ='xxx' UPDATE [dbo].[Subscriptions] SET OwnerID='CDF7C7C8-CBE2-4C42-BDF0-6FA2A5019F50' WHERE Report_OID='E3F95452-718E-4847-8E27-3ED0C43F597F' SELECT * FROM [dbo].[Subscriptions] WHERE Report_OID='E3F95452-718E-4847-8E27-3ED0C43F597F'
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。