Що повинен знати DBA про SSAS?


40

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

З точки зору адміністрування екземпляра служб аналізу SQL Server, що має знати робоча DBA про SSAS, щоб правильно та ефективно керувати нею?

Відповіді:


50

Короткий огляд SSAS для DBA

Отже, ви DBA SQL Server, і ви просто успадкували кілька кубів із синього боку для управління. Швидкий курс аварії на адміністрування SSAS здається в порядку.

З адміністративної точки зору, SSAS є досить простою програмою, яка потребує ресурсів. Це набагато простіше, ніж платформа СУБД, хоча і відрізняється кількома способами. Крім того, є кілька адміністративних завдань, таких як оптимізація на основі використання, специфічна для SSAS, і, можливо, вам доведеться обійтись.

Створіть резервну копію файлу конфігурації

Усі дані конфігурації існують у файлі, який називається msdmsrv.ini. Це XML-файл. Якщо ви попрацюєте з конфігурацією через SSMS (Підключіться до сервера, клацніть правою кнопкою миші на сервері, виберіть властивості), ви можете встановити параметри, які порушують сервер при запуску. Зробіть копію, msmdsrv.iniперш ніж грати з чим-небудь.

Важливі параметри

Пам'ять: SSAS - це біблійна свиня для пам’яті. Це подобається, якщо можливо, 64-бітні збірки та багато пам'яті. Параметри «Пам'ять \ LowMemoryLimit» та «Пам'ять \ 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. Ви також можете отримати різні інструменти для захисту оболонок тощо. ascmd.exeбере файл XML / A і розміщує його на сервері. Якщо вам доведеться програмно скасувати файл, можливо, вам буде краще працювати з невеликими інструментами .Net, а не намагатися маніпулювати XML-файлами зі скрипту .cmd.

Посібник з операцій розглядає це детальніше.

Безпека

Безпека в SSAS досить спрощена. Він виконує глобальну роль "Сервер", що має адміністративні дозволи у всій системі. На жаль, вам потрібен "Сервер" для створення баз даних, тому цілком ймовірно, вам потрібно буде надати його розробникам на будь-яких розробних серверах OLAP.

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

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

Оптимізація на основі використання

Як DBA ви цілком можете долучитися до цього, але спочатку невеликий досвід про фізичне зберігання. SSAS працює, обчислюючи та зберігаючи заздалегідь складені агрегати разом з базовими даними. Якщо запит може бути задоволений натисканням на сукупність, сервер OLAP буде використовувати це в перевазі базових даних, оскільки агрегат буде залучати набагато менше вводу-виводу, і тому буде швидше отримати дані.

Однак вам доведеться розробити, які агрегати обчислювати (тобто, які комбінації атрибутів виміру для генерації сукупностей). У BIDS є інструмент, який дозволить здогадатися і створити для вас деякі. Деякі інструменти, такі як помічник BIDS , також дозволять вам вручну редагувати агрегати.

Оптимізація на основі використання працює, приймаючи журнал фактичних запитів, виданих на сервер, а потім використовуючи цей журнал для опрацювання набору агрегатів, який був би оптимальним для цих запитів. Як DBA, ви можете налаштувати журнал запитів OLAP для захоплення цих даних, а потім запустити оптимізацію на кубі. Тут можна знайти розмиття щодо налаштування журналу запитів .

Інструмент для цього називається "майстер оптимізації на основі використання". Це живе в SSMS, і його можна дізнатися, відкривши розділ in Explorer і вибравши "Оптимізація на основі використання" в меню правої кнопки.

Посібник із продуктивності детальніше описується у налаштуваннях.

MDX

MDX трохи схожий на SQL, але працює зовсім інакше. Трактат на тему «MDX для програмістів SQL» - це сама по собі тема. Я пропоную прочитати деякі підручники по ньому та / або отримати книгу. Крім того, дружні люди на сайті dba.se можуть допомогти з питаннями, якщо у вас є такі.

У MDX немає жодної концепції фільтрування рядків. У мові є безліч заданих операцій, щоб визначити, що відображати на різних осях запиту 1 , плюс "SELECT". Ви можете використовувати withоператори, схожі на CTE, для визначення заходів та наборів.

Деякі вступні ресурси програмування MDX можна знайти тут і тут (цей досить старий і дуже давно звитий). Є також кілька хороших книг на цю тему; у цьому запитанні ТА є досить багато прихильників до ресурсів SSAS.

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


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

Це приголомшлива відповідь! Спасибі людино!
Маріан

6

Деякі відповіді щодо адміністрування SSAS ви можете отримати в цьому посібнику з експлуатації служб аналізу служб аналізу SQL Server 2008 R2 . Ось як починається вступ:

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

Очевидно, що він орієнтований на DBA / адміністраторів. Якщо ви також розробляєте додатки за допомогою 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.