Что администратор БД должен знать о SSAS?


40

Я видел много материалов, касающихся бизнес-аспектов SSAS, но не очень много о важных аспектах администрирования и управления.

С точки зрения администрирования экземпляра SQL Server Analysis Services, что должен знать работающий администратор баз данных о SSAS, чтобы правильно и эффективно управлять им?

Ответы:


50

Краткий обзор SSAS для администраторов баз данных

Итак, вы администратор базы данных SQL Server, и вы просто унаследовали несколько кубов, чтобы управлять ими. Быстрый ускоренный курс по администрированию SSAS, кажется, в порядке.

С административной точки зрения, SSAS является довольно простым, но ресурсоемким приложением. Это намного проще, чем платформа СУБД, хотя отличается в нескольких отношениях. Кроме того, есть несколько административных задач, таких как оптимизация на основе использования, специфичных для SSAS, которые вам, возможно, придется решить самостоятельно.

Сделайте резервную копию вашего файла конфигурации

Все данные конфигурации находятся в файле с именем msdmsrv.ini. Это файл XML. Если вы работаете с конфигурацией через SSMS (подключитесь к серверу, щелкните правой кнопкой мыши по серверу, выберите свойства), вы можете установить параметры, которые будут нарушать работу сервера при запуске. Возьмите копию, msmdsrv.iniпрежде чем играть с чем-либо.

Важные параметры

Память: SSAS - это библейская память. Он любит 64-битные сборки, если это возможно, и много памяти. Параметры «Memory \ LowMemoryLimit» и «Memory \ HighMemoryLimit» управляют политиками использования памяти. LowMemoryLimit не является минимальным выделением памяти. Это порог, когда SSAS считает, что системе не хватает памяти, и начинает сбрасывать содержимое из своих кешей. HighMemoryLimit - абсолютный максимум, который он будет использовать.

Обратите внимание, что SSAS хранит свои данные в файлах (множество файлов - у него нет никакого механизма, эквивалентного файловым группам), поэтому он широко использует кэширование файловой системы O / S для этих файлов. Обратите внимание, что по умолчанию для этих пределов около 65% и 80% памяти машины соответственно, поэтому, если вы хотите, чтобы сервер OLAP сосуществовал с экземпляром SQL Server, вам необходимо отключить его, чтобы он не боролся за память с сервер базы данных.

Каталоги: это пять параметров, представляющих интерес: DataDir, AllowedBrowsingFolders, BackupDir, LogDir и TempDir. DataDir и AllowedBrowsingFolders являются наиболее важными.

  • AllowedBrowsingFolders влияет на список папок, в которые сервер OLAP будет помещать свои файлы данных. Все, что имеет пользовательский интерфейс (например, мастер развертывания), ограничит ваши параметры списком в AllowedBrowsingFolders. Значением является список каталогов с разделителями ('|').

  • DataDir - это путь по умолчанию для файлов. Если вы намереваетесь разделить куб на несколько томов, вам необходимо соответствующим образом настроить AllowedBrowsingFolders.

  • LogDir - это место, где сервер размещает различные файлы журналов, включая регистратор полетов и журналы запросов. Журнал регистрации полетов используется для устранения неполадок, а журнал запросов OLAP - для оптимизации использования (подробнее об этом позже).

  • TempDir - это место для временных файлов, которые SSAS создает во время обработки. Если вы обрабатываете большие объемы данных и у вас возникают проблемы с производительностью, вы можете извлечь выгоду, перенеся это на другой том из данных.

  • BackupDir - это то, что написано на банке.

Разное: Несколько разных параметров также могут представлять интерес. Несколько наборов, которые вам, возможно, придется настроить:

  • DefaultMaxDrillthroughRows: это ограничивает размер наборов строк детализации. Возможно, вам придется возиться с этим, чтобы позволить больше.

  • Потоки / тайм-ауты: вам может потребоваться настроить их. Мне никогда не приходилось беспокоиться.

Это основы. Возможно, вам придется настроить других по определенным причинам, но вы можете сделать свою домашнюю работу на этом.

Справочное руководство по свойствам сервера SSAS можно найти здесь.

операции

Развертывание. Вы можете скомпилировать проект в BIDS и получить набор файлов, которые можно развернуть с помощью мастера развертывания. Возможно, вам придется настроить пути к файлам для разделов и несколько других вещей.

Запрограммированные и пакетные задачи администратора: Команды выдаются SSAS через API веб-службы под названием XML / A. Microsoft предоставляет интерактивный инструмент для выдачи коннанд MDX и XML / A. Если вам нужно встроить MDX в команду XML / A, следите за необходимостью использовать экранирование XML, например &. Это не проблема с редактором MDX и инструментом запросов в SSMS.

Автономные задания можно выполнять с помощью различных задач обработки кубов служб SSIS, с помощью служебной программы командной строки ascmd.exeили .Net API с именем AMO. Вы также можете получить различные инструменты PowerShell и тому подобное. ascmd.exeберет файл XML / A и отправляет его на сервер. Если вам нужно прогнать файл программно, вам, возможно, лучше работать с небольшими инструментами .Net, чем пытаться манипулировать файлами XML из сценария .cmd.

Руководство по эксплуатации подробно расскажет об этом.

Безопасность

Безопасность на SSAS довольно проста. Он имеет глобальную роль «Сервер», которая обладает правами администратора во всей системе. К сожалению, вам нужен «Сервер» для создания баз данных, поэтому вполне вероятно, что вам нужно будет предоставить его разработчикам на любых имеющихся у вас серверах разработки OLAP.

Другая защита может быть применена только к отдельным схемам куба. Вы можете предоставить разрешения на чтение, обработку, детализацию, обратную запись и т. Д. Отдельным элементам ролям в схеме. Роли в схемах OLAP могут быть определены в BIDS и развернуты вместе с кубом. Группы AD или пользователи могут быть назначены на эти роли через SSMS.

Пример того, как программно управлять членством в ролях, можно увидеть здесь.

Оптимизация на основе использования

Как администратор базы данных, вы можете принять участие в этом, но сначала немного о физической памяти. SSAS работает путем расчета и сохранения предварительно созданных агрегатов вместе с базовыми данными. Если запрос может быть удовлетворен путем нажатия на агрегат, сервер OLAP будет использовать его в предпочтении по отношению к базовым данным, поскольку агрегат будет включать гораздо меньше операций ввода-вывода и, следовательно, будет быстрее получать данные.

Однако вы должны решить, какие агрегаты рассчитать (т. Е. Какие комбинации атрибутов измерения создать для свертки). У BIDS есть инструмент, который поможет сделать предположение и сгенерирует его для вас. Некоторые инструменты, такие как BIDS helper , также позволяют вам вручную редактировать агрегаты.

Оптимизация на основе использования работает, принимая журнал фактических запросов, отправленных на сервер, и затем используя этот журнал для разработки набора агрегатов, который будет оптимальным для этих запросов. Как администратор базы данных, вы можете настроить ведение журнала запросов OLAP для сбора этих данных, а затем запустить оптимизацию для куба. Информацию о настройке журнала запросов можно найти здесь.

Инструмент для этого называется «Мастер оптимизации на основе использования». Это находится в SSMS, и его можно найти, открыв раздел в проводнике и выбрав «Оптимизация на основе использования» в контекстном меню.

Руководство по производительности более подробно описано в настройке.

MDX

MDX немного похож на SQL, но работает совсем по-другому. Трактат «MDX для программистов SQL» - это отдельная тема. Я предлагаю прочитать некоторые учебники по нему и / или получить книгу по нему. Плюс, дружелюбные люди здесь на dba.se могут помочь с вопросами, если у вас есть какие-либо.

MDX не имеет никакой концепции фильтрации строк. Язык имеет множество операций набора для определения того, что отображать по различным осям запроса 1 , а также «SELECT». Вы можете использовать withоператоры, которые немного похожи на CTE, для определения показателей и наборов.

Некоторые вводные ресурсы по программированию MDX можно найти здесь и здесь (этот довольно старый и очень длинный). Есть также несколько хороших книг на эту тему; у этого SO вопроса есть немного разветвления к ресурсам SSAS.

1 Хотя в нем есть непустые операторы, которые ограничивают результаты комбинациями, которые фактически имеют данные. Большинство запросов MDX состоят из определения того, какие срезы следует отображать на осях, и непустые операторы будут необходимы, чтобы избежать запросов, возвращающих комбинаторные значения уровня пустых ячеек.


5
Отличная информация .. особенно совет "вы можете установить параметры, которые сломают сервер при запуске".
SqlACID

Это потрясающий ответ! Спасибо чувак!
Marian

6

Вы можете получить ответы на некоторые вопросы, касающиеся администрирования SSAS, в этом длинном техническом документе SQL Server 2008 R2 Analysis Services Руководство по эксплуатации . Вот как начинается введение:

В этом руководстве вы найдете информацию о том, как тестировать и запускать службы аналитики Microsoft SQL Server в SQL Server 2005, SQL Server 2008 и SQL Server 2008 R2 в производственной среде. Основное внимание в этом руководстве уделяется тому, как вы можете тестировать, отслеживать, диагностировать и устранять производственные проблемы даже на самых больших масштабируемых кубах. В этом документе также приведены рекомендации по настройке сервера для обеспечения максимальной производительности.

Очевидно, что он предназначен для администраторов баз данных / администраторов. Если вы также разрабатываете приложения с использованием SSAS, вы также можете ознакомиться с Техническим документом Analysis Services 2008.


Спасибо, DaniSQL. Я также нашел эту статью и, вероятно, должен был упомянуть ее по этому вопросу (извините!), Но я искал более подробное введение по этому вопросу и мнения, основанные на опыте наших коллег-администраторов.
ivanmp

2
Я не могу говорить по своему опыту, так как сам не работаю непосредственно над SSAS :-( Я просто пытаюсь ознакомиться с некоторыми частями белой книги, о которой я упоминал выше, и я также провел двухдневный тренинг по прагматическим работам несколько месяцев Вернитесь назад и прочитайте книгу amzn.to/za1ypP, созданную инструкторами. Кроме того, очень простое введение можно найти в главе 17 этой книги - Начало, администрирование Microsoft® SQL Server® 2008 ( amzn.to/xnKAWw )
DaniSQL,
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.