when i modify this report name or move this report to other location,this table Reports not will be update.
This will get the report back up and running, but it will report the current location of the report - not necessarily the location where it was executed.
update Reports set Path = '/Site/Location/ReportName',
SPSite = 'Site/',
SPDocLibrary = '/Location',
ReportNameShort = 'ReportName',
Name = 'ReportName'
where Path = '/OldSite/OldLocation/OldReportName'
update a set a.ReportKey = Reports.ReportKey
from ExecutionLogs a
join [Users] on a.UserKey = [Users].UserKey
left join ReportServer..ExecutionLog2 b
on a.TimeStart = b.TimeStart
and a.TimeEnd = b.TimeEnd
and a.[RowCount] = b.[RowCount]
and a.ExecutionId = b.ExecutionId COLLATE SQL_Latin1_General_CP1_CI_AS
and [Users].UserName = b.UserName COLLATE SQL_Latin1_General_CP1_CI_AS
join Reports on [Path] = ReportPath COLLATE SQL_Latin1_General_CP1_CI_AS and Reports.ReportKey <> -1
where a.ReportKey = -1