2010-01-22 47 views

回答

1

SSRS已經註銷其訂閱到您的SSRS的實例上運行的服務器上的報表服務器狀態。您可以在ReportServer上運行以下查詢,並向您顯示訂閱的最後一次運行狀態。

我用結合此查詢與SSIS包複製報表服務器數據庫創建發出不同的人告訴他們的報表服務器上存在的訂閱情況的報告

USE ReportServer 

SELECT 
CatalogParent.Name ParentName, --Folder names 
Catalog.Name ReportName, --Actual rpt name 
ReportCreatedByUsers.UserName ReportCreatedByUserName, --first deployed by 
Catalog.CreationDate ReportCreationDate, --deployed on 
ReportModifiedByUsers.UserName ReportModifiedByUserName, --last modification by 
Catalog.ModifiedDate ReportModifiedDate, 
CountExecution.CountStart TotalExecutions, --total number of executions since deployment 
ExecutionLog.InstanceName LastExecutedInstanceName, --server excuted on 
ExecutionLog.UserName LastExecutedUserName, --user name 
ExecutionLog.Format LastExecutedFormat, --render format 
ExecutionLog.TimeStart LastExecutedTimeStart, --start time 
ExecutionLog.TimeEnd LastExecutedTimeEnd, --end time 
-- These times need work, not always what you expect 
ExecutionLog.TimeDataRetrieval LastExecutedTimeDataRetrieval, 
ExecutionLog.TimeProcessing LastExecutedTimeProcessing, 
ExecutionLog.TimeRendering LastExecutedTimeRendering, 
-- end 
ExecutionLog.Status LastExecutedStatus, --status of the report processing (not subscription) 
ExecutionLog.ByteCount LastExecutedByteCount, -- bytes returned (just because i can) 
ExecutionLog.[RowCount] LastExecutedRowCount, 
SubscriptionOwner.UserName SubscriptionOwnerUserName, --subscription creator 
SubscriptionModifiedByUsers.UserName SubscriptionModifiedByUserName, --subscription modifier 
Subscriptions.ModifiedDate SubscriptionModifiedDate, --latest modification date 
Subscriptions.Description SubscriptionDescription, --what the subscription does 
Subscriptions.LastStatus SubscriptionLastStatus, 
Subscriptions.LastRunTime SubscriptionLastRunTime --last time the subscription ran. this may be different to the last 
-- execution time especially if report is set to cache 
FROM 
dbo.Catalog JOIN dbo.Catalog CatalogParent --rs catalog (all things deployed to rs) 
    ON Catalog.ParentID = CatalogParent.ItemID 
JOIN dbo.Users ReportCreatedByUsers --all rs users 
    ON Catalog.CreatedByID = ReportCreatedByUsers.UserID 
JOIN dbo.Users ReportModifiedByUsers 
    ON Catalog.ModifiedByID = ReportModifiedByUsers.UserID 
LEFT JOIN (SELECT 
      ReportID, 
      MAX(TimeStart) LastTimeStart 
      FROM 
      dbo.ExecutionLog --self explanatory 
      GROUP BY 
      ReportID 
      ) LatestExecution --gets the latest execution date rather than having a list longer than life 
       ON Catalog.ItemID = LatestExecution.ReportID 
LEFT JOIN (SELECT 
      ReportID, 
      COUNT(TimeStart) CountStart 
      FROM 
      dbo.ExecutionLog 
      GROUP BY 
      ReportID 
      ) CountExecution -- gets the number of executions (because we can) 
       ON Catalog.ItemID = CountExecution.ReportID 
LEFT JOIN dbo.ExecutionLog 
    ON LatestExecution.ReportID = ExecutionLog.ReportID 
     AND LatestExecution.LastTimeStart = ExecutionLog.TimeStart 
LEFT JOIN dbo.Subscriptions --subscription details 
    ON Catalog.ItemID = Subscriptions.Report_OID 
LEFT JOIN dbo.Users SubscriptionOwner --user info 
    ON Subscriptions.OwnerID = SubscriptionOwner.UserID 
LEFT JOIN dbo.Users SubscriptionModifiedByUsers --user info 
    ON Subscriptions.OwnerID = SubscriptionModifiedByUsers.UserID 
ORDER BY 
CatalogParent.Name, 
Catalog.Name 

記錄和報告堆棧跟蹤與服務器上的LogFiles一樣,不那麼簡單!

0

SSRS在與SSRS報告一起使用的SQL Server實例上具有默認日誌記錄機制。您可以在以下路徑中找到日誌文件。

C:\ Program Files文件\ Microsoft SQL Server的\ MSRS11.MSSQLSERVER \ Reporting Services的\ LogFiles文件

最頂端的文件都報告服務器日誌,打開該文件,然後定位到最後,查看最近的日誌。