Reporting Services Internal Error(诡异的问题)-【转载】

前一段时间有朋友因为Reporting Service的问题一直没有解决,我当时看了错误消息也没有什么好的建议。因为她这个服务器并不是所有的报表有问题,而是某个报表。

当时我们推测是硬件问题,具体来说我怀疑是硬盘问题。但后来换到另外一台服务器据说也没有解决。今天她跟我说,已经解决了,并提供了下面的链接。我转摘如下,以便日后参考

 

Over the last months I have bumped into many occurrences of the following error in machines that are Running Reporting Services 2005, and in most of the cases when displaying reports through CRM. The error seems to occur RAMDOMLY:

Reporting Services Error An internal error occurred on the report server. See the error log for more details (rsInternalError)

Additionally, an error message that resembles the following error message is logged in the Reporting Services log file:

……
w3wp!processing!5!
Date - Time:: a ASSERT: Assertion failed! Call stack:
Microsoft.ReportingServices.ReportProcessing.ReportProcessing.UpdateTimingInformation(RunningJobContext jobContext, Int64 totalDurationMs, Int64 reportDataRetrievalDurationMs, Int64 reportRenderingDurationMs)
Microsoft.ReportingServices.ReportProcessing.ReportProcessing.RenderReport(IRenderingExtension renderer, DateTime executionTimeStamp, GetReportChunk getCompiledDefinitionCallback, ProcessingContext pc, RenderingContext rc, CreateReportChunk cacheDataCallback, Boolean& dataCached)
……
w3wp!library!5!
Date - Time:: e ERROR: Throwing Microsoft.ReportingServices.Diagnostics.Utilities.InternalCatalogException: An internal error occurred on the report server. See the error log for more details., un-named assertion fired for component processing;
Info: Microsoft.ReportingServices.Diagnostics.Utilities.InternalCatalogException: An internal error occurred on the report server. See the error log for more details..

The issue was caused by a problem with the hardware AMD processor with PowerNow technology enabled in the BIOS (using technology Cool'n'Quiet). Please check if that is your case.

The following article describes the underlying cause of it, which seems to be casing secondary effects in other applications like Reporting Services.

SQL Server timing values may be incorrect when you use utilities or technologies that change CPU frequencies

http://support.microsoft.com/default.aspx?scid=kb;EN-US;931279

To get rid of this error, first of all, you should find out if your machine has an AMD multi processor by checking the Properties of the “My Computer”, under the general Tab.

If that is the case (If you can confirm that your machine is has an AMD processor) you have 3 options: 1) Update the BIOS on the computer (to disable the Cool'n'Quiet technology from the BIOS), 2) modify the Boot.ini file to use the /usepmtimer switch, or 3) Install Cumulative Update Package 5 for SQL Server 2005 Service Pack 2 (http://support.microsoft.com/default.aspx?scid=KB;LN;943656)

If you choose to modify the boot.ini instead installing the rollup, you can follow these steps:

1. Log on to the computer by using an account that has administrative credentials.

2. Click Start, click Run, type notepad c:\boot.ini, and then click OK.

3. In the Boot.ini file, a line that starts with "default" is located in the "[boot loader]" section. This line specifies the location of the default operating system. The line may appear as follows:

default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS

In the "[operating systems]" section, locate the line for the operating system that corresponds to the "default" line. For example, if the computer is running Microsoft Windows Server 2003, Enterprise x64 Edition, the line should resemble the following:

multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Windows Server 2003 Enterprise x64 Edition" /fastdetect /NoExecute=OptIn

4. At the end of the line, add a space, and then type /usepmtimer. The line should now resemble the following.

multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Windows Server 2003 Enterprise x64 Edition" /fastdetect /NoExecute=OptIn /usepmtimer

5. Save the file, and then exit Notepad.

6. Restart the computer.

The following is a sample Boot.ini file for a system that contains the /usepmtimer switch.

[boot loader]

timeout=0

default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS

[operating systems]

multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Windows Server 2003 Enterprise x64 Edition" /fastdetect /NoExecute=OptIn /usepmtimer

Note: The Boot.ini file is located in the root folder of the system drive.

Programs that use the QueryPerformanceCounter function may perform poorly in Windows Server 2003 and in Windows XP http://support.microsoft.com/kb/895980

Published Monday, December 10, 2007 2:24 PM by mariae

posted @ 2008-12-11 20:16  陈希章  阅读(1379)  评论(0编辑  收藏  举报