แก้ไขปัญหาการรีเฟรชตามกําหนดการในเซิร์ฟเวอร์รายงาน Power BI
บทความนี้อธิบายถึงทรัพยากรที่พร้อมใช้งานเพื่อแก้ไขปัญหากับการรีเฟรชตามกําหนดการใน เซิร์ฟเวอร์รายงาน Power BI
เมื่อมีปัญหาใหม่ ๆ เกิดขึ้น บทความนี้จะถูกอัปเดตด้วยข้อมูลที่จะช่วยคุณได้
ปัญหาทั่วไป
ต่อไปนี้คือปัญหาทั่วไปที่คุณอาจพบเมื่อพยายามกําหนดเวลารีเฟรชสําหรับรายงาน
ปัญหาที่เกี่ยวข้องกับโปรแกรมควบคุม
เชื่อมต่อกับแหล่งข้อมูลที่แตกต่างกันอาจจําเป็นต้องมีการติดตั้งโปรแกรมควบคุมจากบริษัทอื่นเพื่อให้เชื่อมต่อได้สําเร็จ ไม่เพียงคุณจําเป็นต้องติดตั้งบนเครื่องที่คุณกําลังใช้ Power BI Desktop เท่านั้น แต่คุณยังจําเป็นต้องติดตั้งโปรแกรมควบคุมดังกล่าวบนเซิร์ฟเวอร์รายงานด้วย
โปรแกรมควบคุมอาจมาในแบบ 32 บิต และ 64 บิต ตรวจสอบให้แน่ใจว่าได้ติดตั้งไดรเวอร์ 64 บิต เนื่องจากเซิร์ฟเวอร์รายงาน Power BI เป็น 64 บิต
โปรดดูที่ผู้ผลิตสําหรับรายละเอียดเกี่ยวกับวิธีการติดตั้ง และกําหนดค่าโปรแกรมควบคุมจากบริษัทอื่น
หน่วยความจําไม่เพียงพอ
ความกดดันที่มีต่อหน่วยความจําอาจเกิดขึ้นได้เมื่อรายงานต้องใช้หน่วยความจํามากขึ้นเพื่อประมวลผลและแสดงผล การรีเฟรชตามกําหนดการบนรายงานอาจต้องการหน่วยความจําบนเครื่องเป็นจํานวนมาก โดยเฉพาะอย่างยิ่งสําหรับรายงานขนาดใหญ่ หน่วยความจําไม่เพียงพออาจส่งผลให้รายงานล้มเหลว และอาจทําให้เซิร์ฟเวอร์รายงานหยุดทํางาน
ถ้าคุณกําลังประสบปัญหาเรื่องหน่วยความจําอยู่เสมอ มันอาจถึงเวลาแล้วที่จะมองไปที่การปรับใช้แบบ scaled out ของเซิร์ฟเวอร์รายงานเพื่อกระจายการใช้ทรัพยากร คุณยังสามารถกําหนดได้ว่าจะใช้เซิร์ฟเวอร์รายงานตัวนั้นสําหรับการรีเฟรชข้อมูลด้วย IsDataModelRefreshService
การตั้งค่าภายใน rsreportserver.config หรือไม่ ด้วยการตั้งค่านี้ คุณสามารถกําหนดหนึ่งหรือหลายเซิร์ฟเวอร์ให้เป็นเซิร์ฟเวอร์ front end เพื่อจัดการกับรายงานตามความต้องการ และมีชุดของเซิร์ฟเวอร์อีกชุดที่จะใช้สําหรับรีเฟรชตามกําหนดการเท่านั้น
สําหรับข้อมูลเกี่ยวกับวิธีการตรวจสอบอินสแตนซ์ Analysis Services ดู ตรวจสอบอินสแตนซ์ Analysis Services
สําหรับข้อมูลเกี่ยวกับการตั้งค่าหน่วยความจําภายใน Analysis Services ดู คุณสมบัติหน่วยความจํา
การกําหนดค่า Kerberos
เชื่อมต่อไปยังแหล่งข้อมูลด้วยข้อมูลประจําตัว Windows อาจจําเป็นต้องกําหนดค่าการมอบสิทธิ์แบบจํากัดของ Kerberos เพื่อให้การเชื่อมต่อสําเร็จ สําหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการกําหนดค่าการมอบหมายที่มีข้อจํากัดของ Kerberos ดู กําหนดค่า Kerberos เพื่อใช้รายงาน Power BI
ปัญหาที่ทราบกันดี
ข้อมูลเกี่ยวกับปัญหาที่ทราบแล้วจะแสดงอยู่ที่นี่เมื่อมีข้อมูลพร้อมให้บริการ
การตั้งค่าการกำหนดค่า
การตั้งค่าต่อไปนี้จะมีผลต่อการรีเฟรชตามกําหนดเวลา การตั้งค่าตั้งค่าภายใน SQL Server Management Studio (SSMS) จะมีผลกับทุก ๆ เซิร์ฟเวอร์รายงานภายในการปรับใช้แบบขยาย การตั้งค่ากําหนดค่าภายใน rsreportserver.config มีไว้สําหรับเซิร์ฟเวอร์เฉพาะที่ถูกตั้งค่า
การตั้งค่าภายใน SSMS:
การตั้งค่า | รายละเอียด |
---|---|
MaxFileSizeMb | ขนาดไฟล์สูงสุดสําหรับรายงานที่อัปโหลด ค่าเริ่มต้นคือ 1000 เมกะไบต์ (1 GB) ค่าสูงสุดคือ 2000 เมกะไบต์ (2 GB) |
ModelCleanupCycleMinutes | กําหนดความถี่ในการตรวจสอบแบบจําลองเพื่อขับออกจากหน่วยความจํา ค่าเริ่มต้นคือ 15 นาที |
ModelExpirationMinutes | กําหนดว่าเวลานานเท่าใดจนกว่าแบบจําลองจะหมดอายุโดยยึดตามการใช้งานครั้งล่าสุดและขับออกไป ค่าเริ่มต้นคือ 60 นาที |
ScheduleRefreshTimeoutMinutes | กําหนดว่าการรีเฟรชข้อมูลสามารถใช้เวลานานแค่ไหนสําหรับแต่ละโหมด ค่าเริ่มต้นคือ 120 นาที ไม่มีขีดจํากัดสูงสุด |
การตั้งค่าภายใน rsreportserver.config:
<Configuration>
<Service>
<PollingInterval>10</PollingInterval>
<IsDataModelRefreshService>false</IsDataModelRefreshService>
<MaxQueueThreads>0</MaxQueueThreads>
</Service>
</Configuration>
เครื่องมือสําหรับการแก้ไขปัญหา
บันทึกที่เกี่ยวข้องกับการรีเฟรชตามกําหนดการของรายงาน Power BI
แฟ้มบันทึกที่เก็บข้อมูลเกี่ยวกับการรีเฟรชตามกําหนดการคือบันทึก RSPowerBI_ บันทึกดังกล่าวอยู่ในโฟลเดอร์ LogFiles ของตําแหน่งการติดตั้งเซิร์ฟเวอร์รายงานของคุณ
C:\Program Files\Microsoft Power BI Report Server\PBIRS\LogFiles\RSPowerBI_*.log
เงื่อนไขข้อผิดพลาด
2017-10-20 02:00:09.5188|ERROR|744|Error Processing Data Model Refresh: SessionId: e960c25e-ddd4-4763-aa78-0e5dceb53472, Status: Error Model can not be refreshed because not all the data sources are embedded, Exception Microsoft.PowerBI.ReportServer.AsServer.InvalidDataSourceException: Model can not be refreshed because not all the data sources are embedde
at Microsoft.PowerBI.ReportServer.WebHost.EventHandler.AnalysisServicesDataRefresh.CanModelRefresh(IEnumerable`1 dataSources)
at Microsoft.PowerBI.ReportServer.WebHost.EventHandler.DataRefreshScope.<>c__DisplayClass7.<ExecuteActionWithLogging>b__5()
at Microsoft.PowerBI.ReportServer.WebHost.EventHandler.DataRefreshScope.<ExecuteFuncWithLogging>d__1`1.MoveNext()
การรีเฟรชที่สําเร็จ
2017-10-25 15:23:41.9370|INFO|6|Handling event with data: TimeEntered: 10/25/2017 8:23:41 PM, Type: Event, SessionId: 46d398db-0b1f-49d8-b7bd-c5461c07ec7a, EventType: DataModelRefresh
2017-10-25 15:23:41.9370|INFO|6|Processing Data Model Refresh: SessionId: 46d398db-0b1f-49d8-b7bd-c5461c07ec7a, Status: Starting Data Refresh.
2017-10-25 15:23:41.9370|INFO|6|Processing Data Model Refresh: SessionId: 46d398db-0b1f-49d8-b7bd-c5461c07ec7a, Status: Starting Retrieving PBIX AsDatabaseInfo.
2017-10-25 15:23:42.7134|INFO|6|Processing Data Model Refresh: SessionId: 46d398db-0b1f-49d8-b7bd-c5461c07ec7a, Status: Starting Verifying all the data sources are embedded.
2017-10-25 15:23:42.7134|INFO|6|Processing Data Model Refresh: SessionId: 46d398db-0b1f-49d8-b7bd-c5461c07ec7a, Status: Starting Verifying connection strings are valid.
2017-10-25 15:23:42.7134|INFO|6|Processing Data Model Refresh: SessionId: 46d398db-0b1f-49d8-b7bd-c5461c07ec7a, Status: Starting Streaming model to Analysis Server.
2017-10-25 15:23:42.7603|INFO|6|Processing Data Model Refresh: SessionId: 46d398db-0b1f-49d8-b7bd-c5461c07ec7a, Status: Starting Refreshing the model.
2017-10-25 15:23:51.5258|INFO|6|Processing Data Model Refresh: SessionId: 46d398db-0b1f-49d8-b7bd-c5461c07ec7a, Status: Starting Removing credentials from the model.
2017-10-25 15:23:51.6508|INFO|6|Processing Data Model Refresh: SessionId: 46d398db-0b1f-49d8-b7bd-c5461c07ec7a, Status: Starting Saving model to the catalog.
ข้อมูลประจําตัวไม่ถูกต้อง
2017-10-20 08:22:01.5595|INFO|302|Processing Data Model Refresh: SessionId: 22cd9ec3-b21a-4eb1-81ae-15fac8d379ea, Status: Starting Refreshing the model.
2017-10-20 08:22:02.3758|ERROR|302|Error Processing Data Model Refresh: SessionId: 22cd9ec3-b21a-4eb1-81ae-15fac8d379ea, Status: Error Failed to refresh the model, Exception Microsoft.AnalysisServices.OperationException: Failed to save modifications to the server. Error returned: 'The credentials provided for the SQL source are invalid. (Source at rosecatalog;reportserver.). The exception was raised by the IDbCommand interface.
'.
at Microsoft.AnalysisServices.Tabular.Model.SaveChanges(SaveOptions saveOptions)
at Microsoft.PowerBI.ReportServer.AsServer.TOMWrapper.RefreshModel(Database database)
at Microsoft.PowerBI.ReportServer.AsServer.AnalysisServicesServer.RefreshDatabase(String databaseName, IEnumerable`1 dataSources)
at Microsoft.PowerBI.ReportServer.WebHost.EventHandler.AnalysisServicesDataRefresh.RefreshDatabase(AsDatabaseInfo asDatabaseInfo)
at Microsoft.PowerBI.ReportServer.WebHost.EventHandler.DataRefreshScope.<>c__DisplayClass7.<ExecuteActionWithLogging>b__5()
at Microsoft.PowerBI.ReportServer.WebHost.EventHandler.DataRefreshScope.<ExecuteFuncWithLogging>d__1`1.MoveNext()
2017-10-20 08:22:02.4588|ERROR|302|Error Processing Data Model Refresh: SessionId: 22cd9ec3-b21a-4eb1-81ae-15fac8d379ea, Status: Error Failed Data Refresh, Exception Microsoft.AnalysisServices.OperationException: Failed to save modifications to the server. Error returned: 'The credentials provided for the SQL source are invalid. (Source at rosecatalog;reportserver.). The exception was raised by the IDbCommand interface.
'.
at Microsoft.PowerBI.ReportServer.WebHost.EventHandler.DataRefreshScope.ExecuteActionWithLogging(Action methodToExecute, String description, String localizedDescription, String messageInFailure, RefreshInfo refreshInfo, DataAccessors dataAccessors, ReportEventType operation, Int64 size, Boolean isDataRetrieval, Boolean showInExecutionLog)
at Microsoft.PowerBI.ReportServer.WebHost.EventHandler.AnalysisServicesDataRefresh.RefreshData(RefreshInfo refreshInfo)
at Microsoft.PowerBI.ReportServer.WebHost.EventHandler.DataRefreshScope.<>c__DisplayClass7.<ExecuteActionWithLogging>b__5()
at Microsoft.PowerBI.ReportServer.WebHost.EventHandler.DataRefreshScope.<ExecuteFuncWithLogging>d__1`1.MoveNext()
เปิดใช้งานการบันทึกแบบอย่างละเอียด
เปิดใช้งานการบันทึกแบบอย่างละเอียดใน เซิร์ฟเวอร์รายงาน Power BI จะเหมือนกับใน SQL Server Reporting Services
- เปิด
<install directory>\PBIRS\ReportServer\bin\ReportingServicesService.exe.config
- ภายใต้
<system.diagnostics>
เปลี่ยน DefaultTraceSwitch เป็น 4 - ภายใต้
<RStrace>
เปลี่ยน Components เป็น all:4
ล็อกการดําเนินการ
เมื่อใดก็ตามที่มีการแสดงผลรายงาน Power BI หรือดําเนินการตามแผนการรีเฟรชตามกําหนดเวลา รายการใหม่จะถูกเพิ่มไปยังบันทึกการดําเนินการในฐานข้อมูล รายการเหล่านี้มีอยู่ใน มุมมอง ExecutionLog3 ภายในฐานข้อมูลแค็ตตาล็อกของเซิร์ฟเวอร์รายงาน
รายการบันทึกการดําเนินการสําหรับรายงาน Power BI แตกต่างจากรายการสําหรับรายงานชนิดอื่น
- คอลัมน์ TimeRendering จะเป็น 0 เสมอ การแสดงผลของรายงาน Power BI เกิดขึ้นในเบราว์เซอร์ ไม่ได้อยู่ในเซิร์ฟเวอร์
- มีค่า Request Types ได้ 2 แบบและการดําเนินการที่เกิดขึ้นต่อมา:
- แบบโต้ตอบ: เมื่อใดก็ตามที่มีการดูรายงาน
- ASModelStream: เมื่อรูปแบบข้อมูลถูกสตรีมไปยัง Analysis Services จากแค็ตตาล็อก
- ConceptualSchema: เมื่อผู้ใช้คลิกดูรายงาน
- QueryData: เมื่อใดก็ตามที่มีการร้องขอข้อมูลจากไคลเอ็นต์
- รีเฟรชแคช: เมื่อใดก็ตามที่มีการดําเนินการตามแผนการรีเฟรชตามกําหนดเวลา
- ASModelStream: เมื่อใดก็ตามที่รูปแบบข้อมูลถูกสตรีมไปยัง Analysis Services จากแค็ตตาล็อก
- DataRefresh: เมื่อใดก็ตามที่มีการรีเฟรชข้อมูลจากแหล่งข้อมูลหนึ่งหรือหลายแหล่ง
- SaveToCatalog: เมื่อใดก็ตามที่รูปแบบข้อมูลกําลังถูกบันทึกกลับไปยังแค็ตตาล็อก
- แบบโต้ตอบ: เมื่อใดก็ตามที่มีการดูรายงาน
Analysis Services
อาจมีบางครั้งที่คุณต้องการปรับเปลี่ยน Analysis Services เพื่อวินิจฉัยปัญหา หรือปรับค่าขีดจํากัดหน่วยความจํา
สำคัญ
การตั้งค่าเหล่านี้จะถูกตั้งค่าใหม่ทุกครั้งที่คุณอัปเกรดเซิร์ฟเวอร์รายงาน ตรวจสอบให้แน่ใจว่ามีการเก็บสําเนาของการเปลี่ยนแปลงของคุณ และนํากลับมาใช้ถ้าจําเป็น
ตําแหน่งที่ติดตั้ง
ตําแหน่งที่ตั้งเริ่มต้นสําหรับเซิร์ฟเวอร์รายงาน Power BI และ Analysis Services มีดังนี้
C:\Program Files\Microsoft Power BI Report Server\PBIRS\ASEngine
การกําหนดค่าการตั้งค่า Analysis Services (msmdsrv.ini)
ใน <install directory>\PBIRS\ASEngine
ไดเรกทอรี คุณจะพบ แฟ้ม msmdsrv.ini ซึ่งคุณสามารถใช้เพื่อควบคุมการตั้งค่าที่แตกต่างกันของ Analysis Services ได้ เมื่อคุณเปิดไฟล์นี้คุณจะเห็นได้ทันทีว่าไฟล์นี้ไม่มีการตั้งค่าทั้งหมดที่คุณคาดหวังในไฟล์ msmdsrv.ini
ทั้งนี้เนื่องจากกระบวนการ Analysis Services จริงที่เรียกใช้โดยเซิร์ฟเวอร์รายงาน Power BI จะเปิดใช้งานใน<install directory>\PBIRS\ASEngine\workspaces
ในโฟลเดอร์นั้น คุณจะเห็นแฟ้ม msmdsrv.ini แบบเต็มที่คุณคุ้นเคย สิ่งสําคัญคือต้องไม่ปรับเปลี่ยนแฟ้มภายในโฟลเดอร์พื้นที่ทํางาน เนื่องจากมีการเขียนใหม่เมื่อใดก็ตามที่เปิดใช้ Analysis Services หากคุณต้องการควบคุมการตั้งค่า โปรดแก้ไข msmdsrv.ini ใน <install directory>\PBIRS\ASEngine
ไดเรกทอรี
การตั้งค่าต่อไปนี้จะถูกตั้งค่าใหม่เมื่อใดก็ตามที่มีการเปิดใช้งาน Analysis Services การเปลี่ยนแปลงใดๆ ที่คุณทํากับค่าเหล่านี้จะถูกละเว้น
- การกําหนดค่าการตั้งค่า\PrivateProcess
- การกําหนดค่าการตั้งค่า\DataDir
- การกําหนดค่าการตั้งค่า\LogDir
- การกําหนดค่าการตั้งค่า\TempDir
- การกําหนดค่าการตั้งค่า\BackupDir
- การกําหนดค่าการตั้งค่า\AllowedBrowsingFolders
- การกําหนดค่าการตั้งค่า\CrashReportsFolder
- การกําหนดค่าการตั้งค่า\ExtensionDir
- การกําหนดค่าการตั้งค่า\พอร์ต
- การกําหนดค่าการตั้งค่า\DeploymentMode
- การกําหนดค่าการตั้งค่า\ServerLocation
- การกําหนดค่าการตั้งค่า\TMCompatabilitySKU
- Configuration การตั้งค่า\FlightRecorder\TraceDefinitionFile
การทําโพรไฟล์กระบวนการ Analysis Services ภายในเครื่อง
การติดตาม SQL Profiler สามารถเรียกใช้ได้ในเครื่องของ Analysis Services สําหรับการวินิจฉัยปัญหา เมื่อต้องการเชื่อมต่อกับอินสแตนซ์ Analysis Services ภายในเครื่อง ให้ทําสิ่งต่อไปนี้
การติดตาม SQL Server Profiler จะรวมอยู่ใน การดาวน์โหลด SQL Server Management Studio (SSMS) แล้ว
- เริ่มต้น SQL Server Profiler ในฐานะผู้ดูแล
- เลือก ปุ่มการติดตาม ใหม่
- ในกล่องโต้ตอบ เชื่อมต่อเซิร์ฟเวอร์ เลือก Analysis Services และป้อน localhost:5132 สําหรับชื่อเซิร์ฟเวอร์
- ในกล่องโต้ตอบคุณสมบัติการติดตาม เลือกเหตุการณ์คุณต้องการบันทึก และเลือกเรียกใช้
สิทธิพิเศษ Windows ในการล็อกหน้าในหน่วยความจํา
ถ้าคุณพบว่า คุณจะไม่สามารถแสดงรายงาน Power BI การกําหนด สิทธิ์ล็อกหน้าในหน่วยความจํา ให้กับบัญชีบริการที่เรียกใช้งานเซิร์ฟเวอร์รายงาน Power BI อาจช่วยได้ สําหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการกําหนดค่า ล็อกหน้าในหน่วยความจํา ดู สิทธิ์การใช้งาน Windows ที่กําหนดให้กับบัญชีบริการ Analysis Services
มีคำถามเพิ่มเติมหรือไม่? ลองถามชุมชน Power BI