我有运行SSRS的SQL 2014专业版12.0.5000.0。我已经在Report Builder 3.0中创建了一个可以运行并运行find的报告。
但是,当我创建订阅并运行时,我得到的用户a1234(例如)并不存在。
我发现在我们的域中没有将该名称添加到SSRS的用户。
我的用户名是ah1234(例如)
我在订阅表中查找,所有者是我吗?但是,订阅显示的所有者为a1234?
我检查了上载的报告,报告说所有者是a1234。
我认为这可能是活动目录问题,但不确定。
如果可以的话,是否有人可以看到此内容?
答案 0 :(得分:1)
我不知道SSRS如何破坏所有者名称,但是这是一个纠正所有者名称的技巧(写在2008 R2上)(我在人们离开时使用此技巧,并且他们的Active Directory用户ID被删除,从而留下孤立的子对象无法运行)。
请注意,它会更新Microsoft提供的订阅表,您可能不希望这样做。
首先确定发件人和收件者的SSRS所有者ID(您可能需要先获得收件者才能创建订阅):
SELECT distinct [OwnerID], u.username
FROM [<ssrs-database>].[dbo].[Subscriptions] s
join [<ssrs-database>].[dbo].[Users] u on s.ownerid = u.userid
现在安全复制订阅列表,例如:
SELECT * into temp.subscriptionscpy
FROM [<ssrs-database>].[dbo].[Subscriptions] s
现在进行更改,例如(这会更改所有相关子项的所有者):
update [<ssrs-database>].[dbo].[Subscriptions]
set ownerid = 'DDD87598-8957-42C8-8DBC-A893E7174CB6'
where ownerid = 'EBF0E483-69E6-4458-B171-BA28FFCCDF3F'
现在检查所有者是否符合您的要求。