Устранение неполадок Service Manager кубов OLAPTroubleshoot Service Manager OLAP cubes

Важно!

Эта версия Service Manager достигла конца поддержки, рекомендуется выполнить обновление до Service Manager 2019.This version of Service Manager has reached the end of support, we recommend you to upgrade to Service Manager 2019.

В следующих разделах описаны распространенные проблемы, которые могут потребоваться при устранении неполадок OLAP-аналитических ( ) данных в хранилище данных Service Manager.The following sections describe common problems that you might need to troubleshoot online analytical processing (OLAP) data cubes in the Service Manager data warehouse.

Сбои при обработкеProcessing failures

Несмотря на наличие в базе данных DWRepository мер безопасности для обеспечения целостности данных, они неспособны полностью исключить возможность ошибок обработки.Although safeguards exist in the DWRepository database to ensure data integrity, they cannot completely prevent the possibility of a processing error. Наиболее распространенной ошибкой обработки является исключение DimensionKeyNotFound.The most common processing error is a DimensionKeyNotFound exception. Поскольку SQL   server сервер анализа данных ( ) измерения SSAS обрабатываются каждые 60 минут по умолчанию, возможно, при обработке группы мер фактов ключи измерения еще не существуют.Because SQL Server Analysis Server (SSAS) dimensions are processed every 60 minutes by default, it is possible that, while processing the fact's measure group, the dimension keys do not yet exist. В таком случае по умолчанию схема обработки заново обрабатывает измерения SSAS, используя задачу ProcessUpdate, после чего заново обрабатывает факт до двух раз, чтобы устранить ошибки ключей.In this case, by default the processing logic reprocesses the SSAS dimensions using a ProcessUpdate task and then reprocesses the fact up to two times to resolve the key errors.

В некоторых редких ситуациях может произойти сбой повторной обработки.There are some uncommon situations in which the reprocessing might fail. Ниже перечислены возможные причины этого сбоя.The following are possible causes of this failure:

  • Только репозиторий хранилища данных гарантирует соблюдение внешних ключей для обеспечения целостности данных.Only the data warehouse Repository enforces foreign keys to ensure the integrity of the data. Киоск данных не использует внешние ключи по соображениям производительности.The data mart does not have any foreign keys for performance considerations. Поскольку процесс загрузки массово перемещает данные из репозитория в киоск данных при помощи методов объектов данных ActiveX, в результате сбоя синхронизации данные факта могут быть загружены раньше ключей измерения.Because the load process bulk moves the data from the repository to the data mart using ActiveX Data Objects methods, it is possible that the fact data may have been loaded before the dimension keys as a result of a timing problem. Чтобы устранить эту проблему, необходимо заново запустить процесс загрузки для перемещения имеющихся ключей измерения.To resolve this problem, the load process must be run again to move the existing dimension keys.

  • В сценариях с несколькими киосками данных измерения каждого киоска указывают на основной киоск данных хранилища данных.In multiple data mart situations, all the dimensions of each data mart target the primary data warehouse data mart. Это делается для того, чтобы уменьшить размер и время обработки кубов OLAP.This is to reduce the size and processing time of the OLAP cubes. Однако существует вероятность того, что факты в киосках данных Operations Manager или Configuration Manager могут указывать на ключи измерений, еще не существующие в основном киоске данных хранилища данных.It is possible, however, for facts in the Operations Manager or Configuration Manager data marts to target dimension keys that do not yet exist in the primary data warehouse data mart. В таком случае следует запустить задание загрузки основного киоска данных для устранения сбоя обработки кубов, указывающих на киоски данных Configuration Manager или Operations Manager.In this case, you must run the load job on the primary data mart to resolve the processing failure for cubes that target the Operations Manager or Configuration Manager data marts.

Устранение неполадок настроек многомерных выраженийTroubleshoot MDX customizations

Поскольку многие настройки куба необходимы для работы со MDX в многомерных выражениях ( ) , обычно синтаксические ошибки встречаются в НАЧАЛЬном многомерном выражении, которое используется для настройки куба OLAP.Because many cube customizations require a working knowledge of Multidimensional Expressions (MDX), it is common for syntax errors to occur in the initial MDX expression that is used for OLAP cube customization. Может потребоваться несколько попыток, прежде чем выражение будет удовлетворять вашим потребностям.Multiple attempts may be necessary before the expression is suitable for your needs. Необходимо протестировать МНОГОМЕРное выражение в кубе OLAP с помощью Business Intelligence Development Studio ( предложений ) или SSAS без сохранения изменений перед ДОБАВЛЕНИЕм многомерного выражения в куб OLAP с помощью CubeExtension или определения в элементе SystemCenterCube.You should test the MDX expression on the OLAP cube using Business Intelligence Development Studio (BIDS) or SSAS, without saving the changes, before you add the MDX expression to the OLAP cube using a CubeExtension or defining it in the SystemCenterCube element.

Однако если содержащее ошибки выражение MDX уже было добавлено в пакет управления при помощи элемента CubeExtension, можно удалить расширение куба, чтобы отменить все изменения, внесенные в куб OLAP.However, if you do have an error in the MDX expression when you add it in a management pack by using a CubeExtension, you can uninstall the cube extension to revert any changes that were made on the OLAP cube. Если выражения определяются при помощи элемента SystemCenterCube, необходимо удалить пакет управления, после чего вручную удалить куб OLAP из служб SSAS, прежде чем вносить какие-либо корректировки и переустанавливать пакет управления кубом OLAP.If the expressions are defined using a SystemCenterCube element, you must uninstall the management pack and then manually delete the OLAP cube from SSAS before you make any corrections and redeploy the OLAP cube management pack. Учитывая этот нюанс, настройки куба следует определять при помощи элемента CubeExtension.Because of this, you should define cube customizations by using the CubeExtension element.

Сбои при развертывании пакета управления куба OLAPOLAP Cube management pack deployment failures

Представим ситуацию, требующую просмотра группы мер WorkItems Assigned To User с последующим созданием среза из всех пользователей определенного отдела.You may have a situation in which you want to browse the WorkItems Assigned To User measure group and then you want to slice on all users in a particular department. При попытке выполнить фильтрацию UserDimничего не происходит или не возвращается никаких данных.When you attempt to perform filter on UserDim, nothing happens or no data is returned. Это может вызвать недоумение, поскольку UserDim связано отношением с группой мер.This might be very confusing because UserDim has a relationship to the measure group.

В такой ситуации вспомните, что одно и то же измерение базы данных может иметь несколько ролей в многомерной модели.In this situation, remember that the same database dimension can have multiple roles in the multidimensional model. Мы вызываем измерения для ролевых - измерений.We call these dimensions role-playing dimensions. Например, измерение времени может быть использовано несколько раз в кубе OLAP, описывающем сведения о полетах.For example, the time dimension can be used multiple times in an OLAP cube that describes flight information. Различные ролевые - измерения в этом случае могут относить время и время прибытия, где оба предназначены для измерения времени .The different role-playing dimensions in this case could be Departure Time and Arrival Time, where both target the Time dimension.

В рабочих элементах Кому назначено примере пользователя заданное ролевое - имя измерения пользователя фактически AssignedToUser.In a WorkItems Assigned To User example, the given role-playing name of the user dimension is actually AssignedToUser. Если пользователь фильтруется по этому конкретному измерению вместо "UserDim", он возвращает правильные сведения.If the user filtered by this particular dimension instead of "UserDim", they would return the correct information.

В среде BIDS предусмотрена полезная функция (вкладка "Использование измерений"), показывающая отношения между измерениями и кубами OLAP и позволяющая определить, какие измерения можно использовать для получения плоскостных и объемных срезов куба OLAP.BIDS has a useful feature called a Dimension Usage tab that shows the relationships between dimensions and OLAP cubes so that you can determine which dimensions you can use to slice and dice the OLAP cube. Более того, в примерах рабочих элементов Кому назначено пользователя UserDim не имеет связи с группой мер отношение workitemassignedtouser , а *UserDim ( AssignedToUser ) * имеет связь с группой мер, в которой атрибут Join имеет значение UserDimKey.Furthermore, in the WorkItems Assigned To User example, UserDim has no relationship to the WorkItemAssignedToUser measure group, while UserDim(AssignedToUser) does have a relationship to the measure group where the join attribute is UserDimKey. В этом случае можно увидеть, что ролевое - имя выделено в круглых скобках вкладки использование измерений.In this case, you can see the role-playing name is highlighted within the parentheses of the Dimension Usage tab.

Service Manager не имеет возможности вкладки "Использование измерений".Service Manager does not have a Dimension Usage tab capability. Поэтому чтобы определить, какие именно измерения могут выполнять фильтрацию определенного куба, необходимо воспользоваться средой BIDS.Therefore, you will have to look at BIDS to determine exactly which dimensions can filter on a particular cube.

Сбой обработки кубов OLAP на удаленном сервере SSASFailure to process OLAP cubes on a remote SSAS server

В определенных ситуациях из-за неправильной настройки брандмауэра может произойти сбой обработки куба OLAP на удаленном SSAS-сервере.In certain situations, processing an OLAP cube on a remote SSAS server might fail because the firewall has not been configured properly. Экземпляр служб SSAS по умолчанию использует TCP / -порт 2383, и этот порт должен быть разблокирован в брандмауэре, чтобы разрешить доступ.The default instance of SSAS uses TCP/IP port 2383, and this port must be unblocked in the firewall to allow access. Чтобы разблокировать порт, выполните следующие - инструкции командной строки:To unblock the port, run the following command-line instructions:

C:\Windows\system32>set port=2383   
C:\Windows\system32>netsh advfirewall firewall add rule name="Analysis Services" protocol=TCP dir=in localport=2383 action=allow  

Остановка обработки куба OLAPOLAP cube processing stops

Обработка куба OLAP может быть остановлена из-за множества причин.There can be many causes for OLAP cube processing to stop. Сначала необходимо убедиться, что на сервере достаточно ОЗУ, особенно в ситуациях, когда хранилище данных и сервер SSAS размещаются на одном и том же сервере, так что достаточно памяти для выполнения извлечения, преобразования и загрузки ( ETL ) и заданий обработки куба одновременно.You must first ensure that the server has enough RAM, especially in situations in which the data warehouse and the SSAS server are hosted on the same server, so that there is enough memory to run data warehouse extraction, transformation, and load (ETL) and cube processing jobs concurrently. Ряд возможных решений приведен ниже.A few potential solutions are listed here:

  1. В Microsoft SQL   server 2008 Analysis Services имеются известные проблемы взаимоблокировок   .There are known deadlock problems in Microsoft SQL Server 2008 Analysis Services. Избежать их позволяет увеличение количества потоков в пуле вычислительных потоков до прекращения вычислений.The workaround is to increase the number of threads in the processing thread pool before the processing stops. Если система уже остановлена, обходной путь состоит в том, чтобы перезапустить службу управления System Center и службу Analysis Services, а затем сбросить рабочий элемент обработки куба до состояния 3, что означает, что не запущено, чтобы обработчик рабочих процессов Service Manager мог перезапустить его.If the system is already stopped, the workaround is to restart both the System Center Management service and the Analysis Services service and then reset the cube processing workitem to a status of 3, which means not started, so that the Service Manager workflow engine can restart it.

    Примечание

    Чтобы определить нужный рабочий элемент обработки куба, можно выполнить в отношении базы данных DWStagingAndConfig следующие запросы:To determine the relevant cube processing workitem, you can run the following queries on the DWStagingAndConfig database. Обратите внимание — несмотря на то, что запросы приведены по отдельности, их с легкостью можно объединить в один:Note that these queries are shown individually; however, you can easily join them together in one query:

    select processId from infra.process where processname like 'Process.{CubeName}'  
    select batchid from infra.batch where processId = {ProcessId from previous query}  
    select * from infra.workitem(nolock) where BatchId = {BatchId from previous query}  
    update infra.workitem set statusid = 3 where workitemId = {workitemId from previous query)  
    
    
  2. Убедитесь, что свойство CoordinatorExecutionMode в службе SSAS установлено корректно.Check the CoordinatorExecutionMode property on the SSAS service, and ensue that it is set properly. Подробнее об этой проблеме можно прочитать на форумах SQL Server.You can read more about this problem on the SQL Server forums.

Задача DWMaintenance останавливается на шаге ManageCubePartitions или ManageCubeTranslationsThe DWMaintenance task stops on the ManageCubePartitions or ManageCubeTranslations step

Наиболее распространенной причиной данной ситуации является отсутствие ответа от SSAS-сервера.In this situation, the most common cause is a nonresponsive SSAS server. Это решение аналогично первому шагу в предыдущем разделе «Обработка куба OLAP останавливается».The workaround is the same for the first step in the previous section, "OLAP Cube Processing Stops." Чтобы определить нужный рабочий элемент обработки куба, можно выполнить в отношении базы данных DWStagingAndConfig следующие запросы:To determine the relevant cube processing workitem, you can run the following queries on the DWStagingAndConfig database. Обратите внимание — несмотря на то, что запросы приведены по отдельности, их с легкостью можно объединить в один:Note that these queries are shown individually; however, you can easily join them together in one query:

select processid from infra.process where processname = 'DWMaintenance'  
select * from infra.ProcessModule where ProcessId = {ProcessId from previous query} (Note the ProcessModuleId where the VertexName is ManageCubePartitions/ManageCubeTranslaions)  
Select * from infra.batch where ProcessId = {ProcessId from previous query} (Note the BatchId from the largest batch)  
select * from infra.WorkItem where BatchId = {BatchId from previous query}  
update infra.workitem set statusid = 3 where workitemId = {workitemId for the step that is hung with the corresponding processmoduleid for ManageCubePartitions/ManageCubeTranslations)  

Дальнейшие действияNext steps