Запланированный отчет остается в состоянии ожидания
Я создал отчет SSRS. Работает нормально, когда я пытаюсь просмотреть этот отчет на сервере отчетов.
Сейчас я пытаюсь использовать функцию подписок сервера отчетов для экспорта отчетов в формате PDF по расписанию. Для этого.
Я создал новые подписки для некоторых отчетов и запланировал отчеты по общему расписанию. Планирование работает нормально.
Проблема со статусом отчетов подписок на вкладке подписок, он показывает
"Ошибка записи файла \viaserver\Shared\Test.pdf: ошибка олицетворения с использованием контекста безопасности текущего пользователя"
2 ответа
Вот несколько дополнительных советов, которые помогут вам решить проблему; Я столкнулся со многими из этих проблем сегодня - используя SQL 2016 на Server 2012 R2. Я пишу это в основном для собственного ознакомления, но в надежде, что (а) это поможет кому-то еще, и (б) кто-то может дать дополнительную информацию о том, что происходит.
У нас настроен домен, и я пытался использовать учетную запись домена в качестве учетной записи для олицетворения. Используйте локальную учетную запись. Учетная запись должна иметь права входа в систему.
Настройте долю. Разрешены только пути UNC, поэтому убедитесь, что пользователь, настроенный в предыдущем пункте, имеет (a) разрешения для папки NTFS и (b) разрешения для общего ресурса. Это две разные вещи. Сделайте это, даже если общий ресурс находится на локальной машине.
Мне нравится останавливать службы отчетов, переименовывать файл журнала в
<drive>\Program Files\Microsoft SQL Server\MSRS(SSRS version).MSSQLSERVER\Reporting Services\LogFiles\
, затем запустите его снова, чтобы был свежий файл, и вы не прокручиваете файл до 5 МБ.Пожертвуйте чем-нибудь - животным, вашим первенцем - богам служб отчетов SQL Server. Мы все еще пытаемся определить, что произошло, но на этом этапе мы получаем PDF-файлы, которые нужно сгенерировать в локальную папку, но он по-прежнему записывает каждый файл с ошибкой, те же самые ошибки, которые мы получали, когда не записывали PDF-файлы., Он пишет файлы PDF. Я не знаю, почему он также выдает ту же ошибку, что и в случае, когда он не записывал каждый PDF, я полностью сбит с толку, как и SSRS, по-видимому. Я непременно дополню это дополнительной информацией, когда мы это выясним, но это определенно не самый легкий продукт MS, с которым мы имели удовольствие иметь дело.
Вы проверили настройку источника данных отчета и имеет ли учетная запись выполнения RS разрешение на запись файла в "\viaserver\Shared\"?
Привет раджу
Проблема может быть немного сложной, поскольку у вас нет журнала для отчета. Так что просто некоторые общие предложения, надеюсь, они могут помочь вам:
Чтобы проверить, был ли отчет успешно выполнен в рамках подписки, вы можете выполнить запрос outputlog2 в базе данных сервера отчетов, по умолчанию запрос должен выглядеть следующим образом:
select * from ReportServer..ExecutionLog2 where RequestType = 'Subscription'
Вместо создания подписки в формате PDF, вы можете запустить отчет напрямую? Или этот отчет очень большой? Это связано с тем, что при создании отчета в формате PDF разбиение на страницы может потреблять много ресурсов. Если вы уменьшите размер отчета, может ли подписка работать успешно?
Подписка RS зависит от агента SQL. Можете ли вы узнать, успешно ли выполнено задание агента SQL? Чтобы узнать работу, связанную с подпиской, вы можете использовать запрос ниже, где столбец scheduleID - это то, что вам нужно для поиска работы:
use ReportServer
go
SELECT S.ScheduleID AS SQLAgent_Job_Name
, SUB.Description AS Sub_Desc
, SUB.DeliveryExtension AS Sub_Del_Extension
, C.Name AS ReportName
, C.Path AS ReportPath
FROM ReportSchedule RS JOIN Schedule S ON RS.ScheduleID = S.ScheduleID
JOIN Subscriptions SUB ON RS.SubscriptionID = SUB.SubscriptionID
JOIN Catalog C ON RS.ReportID = C.ItemID AND SUB.Report_OID = C.ItemID
WHERE C.Name LIKE '%%'