Microsoft distributes Microsoft SQL Server 2008 R2 fixes as one downloadable file. Because the fixes are cumulative, each new release contains all the hotfixes and all the security fixes that were included with the previous SQL Server 2008 R2 fix release.
Symptoms
Consider the following scenario:
-
You install and configure Microsoft SQL Server 2008 R2 PowerPivot for SharePoint on a computer.
-
You publish or upload an Excel PowerPivot workbook to the PowerPivot gallery.
-
You configure the PowerPivot service application settings to define business hours that cross the boundary of a day. For example, you specify the start time of the business hour to 6:00 AM and the end time to 2:00 AM of the next day.
-
You enable data update for a workbook.
-
You schedule data update to run daily and to the After business hours earliest start time.
In this scenario, data updates every other day instead of every day.
Cause
This issue occurs because Microsoft SQL Server PowerPivot for SharePoint handles the next schedule run incorrectly.
Resolution
Cumulative update information
SQL Server 2008 R2
The fix for this issue was first released in Cumulative Update 6. For more information about how to obtain this cumulative update package for SQL Server 2008 R2, click the following article number to view the article in the Microsoft Knowledge Base:
2489376 Cumulative Update package 6 for SQL Server 2008 R2 Note Because the builds are cumulative, each new fix release contains all the hotfixes and all the security fixes that were included with the previous SQL Server 2008 R2 fix release. We recommend that you consider applying the most recent fix release that contains this hotfix. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
981356 The SQL Server 2008 R2 builds that were released after SQL Server 2008 R2 was released
Workaround
To resolve this issue, apply the cumulative update if you meet one of the following conditions:
-
You do not have a PowerPivot Service application.
-
You can drop the existing PowerPivot Service application, and then you can create a new one.
If you already have a PowerPivot Service application, and if you cannot drop and then create a new one, run the following Transact-SQL script to work around this issue. This script updates the [DataRefresh].[ProcessNextScheduledRun] stored procedure against the PowerPivot service application database.
IF OBJECT_ID ( '[DataRefresh].[ProcessNextScheduledRun]', 'P' ) IS NOT NULL
DROP PROCEDURE [DataRefresh].[ProcessNextScheduledRun]; GO -- The caller should update the [NextProcessDate] and set the status to 'P'. CREATE PROCEDURE [DataRefresh].[ProcessNextScheduledRun] @AllotedServerName [nvarchar] (256) AS DECLARE @CurrentTime datetime; DECLARE @CurrentDate datetime; SET @CurrentTime = GETDATE(); SET @CurrentDate = [DataRefresh].[DateOnly](@CurrentTime); SET @CurrentTime = [DataRefresh].[TimeOnly](@CurrentTime); -- Caller will calculate virtual run window and cancel the run that missed it. UPDATE [DataRefresh].[Runs] SET [RunStartTime]=GETDATE(), ResultKey='Q', ServerName=@AllotedServerName OUTPUT inserted.* WHERE [RunID] in (SELECT TOP 1 [RunID] FROM [DataRefresh].[Runs] WHERE ResultKey='W' AND ( ( -- AfterBusinessHour cases that haven't been loaded to verify IT overridden business hours. -- To handle IT overridden business hours, we will process after business hours schedules immediately -- and set [ProcessStartTime] and [ProcessEndTime] for the schedule and create other schedules if it is necessary. [ProcessStartTime] IS NULL ) OR (-- None AfterBusinessHour cases ProcessEndTime IS NULL AND ( @CurrentTime>=[DataRefresh].[TimeOnly]([ProcessStartTime]) OR DATEDIFF(Day, ProcessDate, @CurrentDate)>=1) ) OR ( -- BusinessHours setting crosses the day boundary. [DataRefresh].[TimeOnly]([ProcessStartTime])<[DataRefresh].[TimeOnly]([ProcessEndTime]) AND ( DATEDIFF(Day, ProcessDate, @CurrentDate)>1 OR (DATEDIFF(Day, ProcessDate, @CurrentDate)>=0 AND @CurrentTime>=[DataRefresh].[TimeOnly]([ProcessStartTime])) ) ) OR ( -- BusinessHours setting within the day boundary. [DataRefresh].[TimeOnly]([ProcessStartTime])>[DataRefresh].[TimeOnly]([ProcessEndTime]) AND ( @CurrentTime>=[DataRefresh].[TimeOnly]([ProcessStartTime]) OR DATEDIFF(Day, ProcessDate, @CurrentDate)>=1) ) -- The following case has been coverred. --OR --( ---- Very old runs that haven't been picked up. --DATEDIFF(Day, ProcessDate, @CurrentDate)>1 --) ) ORDER BY [ProcessDate] ASC ) GO GRANT EXECUTE ON [DataRefresh].[ProcessNextScheduledRun] TO [GeminiService_DataRefresh] GO
Status
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
References
For more information about how to create and configure a PowerPivot Service application, visit the following Microsoft Developer Network (MSDN) website:
How to create and configure a PowerPivot Service application For more information about how to schedule a PowerPivot data update, visit the following Microsoft Developer Network (MSDN) website:
How to schedule a PowerPivot data update For more information about the Incremental Servicing Model for SQL Server, click the following article number to view the article in the Microsoft Knowledge Base:
935897 An Incremental Servicing Model is available from the SQL Server team to deliver hotfixes for reported problemsFor more information about the naming schema for SQL Server updates, click the following article number to view the article in the Microsoft Knowledge Base:
822499 New naming schema for Microsoft SQL Server software update packagesFor more information about software update terminology, click the following article number to view the article in the Microsoft Knowledge Base:
824684 Description of the standard terminology that is used to describe Microsoft software updates