KB2927748 - 修正:PowerPivot 工作簿在你SQL Server 2012 CU7 或 SQL Server 2014 後,無法在 SharePoint 2013 中進行資料更新

套用到
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

此熱修補同樣適用於 Microsoft SQL Server 2014。

症狀

假設你在電腦上安裝了 Microsoft SQL Server 2012 PowerPivot for SharePoint 2013 外掛。 在您套用 Microsoft SQL Server 2012 累積更新 7 後,部分 PowerPivot 工作簿無法在 Microsoft SharePoint 2013 中執行資料刷新操作。 此外,SharePoint ULS 日誌中會記錄以下錯誤訊息:

注意

<Date><Time> w3wp.exe (0x112C) 0x0458 PowerPivot 服務資料刷新 99 Medium 以下例外已發生但已處理,無需操作:System.Runtime.Serialization.SerializationException:在反序列化 Microsoft.AnalysisServices.SPAddin.DataRefresh.DataRefresh.DataRefreshSchedule 的物件時發生錯誤。 根層資料無效。 第一線,位置1167。 ---> System.Xml。XmlException:根層的資料無效。 第一線,位置1167。 在 System.Xml。XmlTextReaderImpl.Throw (String res, String arg) at System.Xml.XmlTextReaderImpl.ParseRootLevelWhitespace () at System.Xml。XmlTextReaderImpl.ParseDocumentContent () 於 System.Xml。XmlReader.ReadEndElement () 於 System.Runtime.Serialization.ClassDataContract.ReadXmlValue (XmlReaderDelegator xmlReader, XmlObjectSerializerReadContext) at System.Runtime.Serializ...EAC56A9C-5E2E-6094-7945-2704E646E1B7
<日期><時間> w3wp.exe (0x112C) 0x0458 PowerPivot 服務資料刷新 99 中等 ...ation。XmlObjectSerializerReadContext.InternalDeserialize (XmlReaderDelegator reader, String name, String ns, Type declaredType, DataContract& dataContract) at System.Runtime.Serialization.XmlObjectSerializerReadContext.InternalDewrizize (XmlReaderDelegator xmlReader, Type declaredType, DataContract dataContract, String name, String ns) at System.Runtime.Serialization.DataContractSerializer.InternalReadObject (XmlReaderDelegator xmlReader, 布林 verifyObjectName, DataContractResolver dataContractResolver) at System.Runtime.Serialization.XmlObjectSerializer.ReadObjectHandleExceptions (XmlReaderDelegator reader, Boolean verifyObjectName, DataContractResolver dataContractResolver) --- End of internal exception stack trace --- at System.Runtime.Serialization.XmlObjectSerializer...EAC56A9C-5E2E-6094-7945-2704E646E1B7

<Date><Time> w3wp.exe (0x112C) 0x0458 PowerPivot 服務資料更新 99 中等 ....ReadObjectHandleExceptions (XmlReaderDelegator reader, Boolean verifyObjectName, DataContractResolver dataContractResolver) at System.Runtime.Serialization.DataContractSerializer.ReadObject (XmlReader reader) at Microsoft.AnalysisServices.SPAddin.DataRefresh.DataRefreshSchedule.DeserializeDataRefreshScheduleProp (SPListItem item) eac56a9c-5e2e-6094-7945-2704e646e1b7

<Date><Time> w3wp.exe (0x112C) 0x0458 PowerPivot 服務資料刷新 00000 中介無法反序列化嵌入排程。 它必須重新建立 eac56a9c-5e2e-6094-7945-2704e646e1b7

<Date><Time> w3wp.exe (0x112C) 0x0458 PowerPivot 服務資料更新 42 高 資料刷新處理啟動失敗,但有以下例外 eac56a9c-5e2e-6094-7945-2704e646e1b7

2014/01/16 00:36:31.17 w3wp.exe (0x112C) 0x0458 PowerPivot 服務資料刷新 99 高異常:Microsoft.AnalysisServices.SPAddin.DataRefreshException:無法在 Microsoft.AnalysisServices.SPAddin.DataRefresh.WorkItem.LoadWorkbookSchedule () 找到此工作項目的排程,地址為 Microsoft.AnalysisServices.SPAddin.DataRefresh.DataRefreshService.Execute () eac56a9c-5e2e-6094-7945-2704e646e1b7

<Date><Time> w3wp.exe (0x112C) 0x0458 PowerPivot Service Data Refresh 97 Medium 嘗試執行 SQL 查詢時發生以下錯誤:System.Data.SqlClient.SqlException (0x80131904) :找不到儲存程序 'DataRefresh.ScheduleRuns'。 at System.Data.SqlClient.SqlConnection.OnError (SqlException exception, Boolean breakConnection, Action'1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning (TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun (RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlCommand.FinishExecuteReader (SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) at Syste...EAC56A9C-5E2E-6094-7945-2704E646E1B7

<Date><Time> w3wp.exe (0x112C) 0x0458 PowerPivot 服務資料刷新 97 中等 ...m.Data.SqlClient.SqlCommand.RunExecuteReaderTds (CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, int32 timeout, task&, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.RunExecuteReader (CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource'1 補全, Int32 逾時, Task& 任務, 布林非同步) atSystem.Data.SqlClient.SqlCommand.InternalExecuteNonQuery (TaskCompletionSource'1 完成, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery () at Microsoft.AnalysisServices.SPAddin.MTSAccessorBase.ExecuteNonQuery (String commandText, CommandType commandType, SqlParameter[] paramArray) Client...EAC56A9C-5E2E-6094-7945-2704E646E1B7

注意

  • 此問題通常發生在序列化資料更新排程長度相較原始長度過短時。
  • 這個問題在 SQL Server 2014 中也存在。

原因

此問題發生是因為 Excel 工作簿中的自訂屬性在設定新的序列化排程前未被正確清除。 這會導致在設定新排程後,額外的自訂屬性會保留。 因此,新的時程失敗了。

解決方式

累積更新資訊

此問題首次在 SQL Server 的累積更新中得到修正。

2014 SQL Server 累積更新 1 /en-us/help/2931693

2012 SQL Server SP1 的累積更新 9 /en-us/help/2931078

關於 SQL Server 的累積更新

每次新的 SQL Server 累積更新都包含了之前累積更新中包含的所有熱修補與安全修補。 請查看 SQL Server 的最新累積更新:

      

Hotfix 資訊
 Microsoft 已提供支援的熱修補程式。 不過,這個熱修正僅針對本文所述的問題進行修正。 只對遇到此問題的系統套用熱修補。

如果熱修補程式可供下載,知識庫文章頂部有一個「熱修補程式下載可用」區塊。 若此區塊未出現,請向 Microsoft 客服與支援部門提交申請以取得熱修正。

注意:如果發生其他問題或需要排除故障,您可能需要另行申請服務。 一般的支援費用將適用於不符合本次熱修正範圍的其他支援問題與問題。 欲查詢完整的 Microsoft 客服與支援電話號碼清單,或建立獨立服務請求,請造訪以下 Microsoft 網站:

http://support.microsoft.com/contactus/?ws=support 注意「熱修正程式下載中」表單顯示該熱修正程式可用的語言。 如果你看不到你的語言,那是因為該語言沒有熱修正。

因應措施

若要避開此問題,請依照下列步驟執行:

  1. 在 Microsoft Excel 2013 中開啟工作簿。

  2. 檔案 選單中,點選 資訊

  3. 點選 屬性,然後點進 階屬性

  4. 進階屬性 對話框中,點選 自訂 標籤。接著,點擊 屬性清單中 每個名稱類似 pppDRSplitSchedulePrefix 並後面跟數字的屬性。

    注意,請確保在進入下一個物件前,先點擊 刪除 該屬性。

  5. 按一下 [確定]

  6. 把檔案重新儲存到 SharePoint。 或者,先把檔案存到本地,再上傳到 SharePoint 上。

狀態

Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。