DBAはSSASについて何を知る必要がありますか?


40

SSASのビジネスの側面をカバーする多くの資料を見てきましたが、管理と管理の重要な側面についてはあまり多くありません。

SQL Server Analysis Servicesのインスタンスを管理するという観点から、作業中のDBAは、SSASを正しく効率的に管理するためにSSASについて何を知る必要がありますか?

回答:


50

SSAS for DBAの簡単な概要

したがって、あなたはSQL Server DBAであり、管理するために突然いくつかのキューブを継承しました。SSAS管理に関するクイッククラッシュコースが適切であるようです。

管理の観点から見ると、SSASはリソースを大量に消費するアプリケーションである場合、非常に簡単です。DBMSプラットフォームよりも簡単ですが、いくつかの点で異なります。また、SSASに固有の使用法に基づく最適化など、頭を悩ませる必要がある管理タスクがいくつかあります。

構成ファイルをバックアップします

すべての構成データは、というファイルに保存されmsdmsrv.iniます。XMLファイルです。SSMS(サーバーに接続、サーバーを右クリック、プロパティを選択)を介して設定を変更すると、起動時にサーバーが破損するオプションを設定できます。msmdsrv.ini何かをする前に、コピーを取ります。

重要なパラメーター

記憶: SSASは聖書の記憶豚です。可能であれば64ビットビルドが好きで、メモリがたくさんあります。パラメーター'Memory \ LowMemoryLimit'および 'Memory \ HighMemoryLimit'は、メモリ使用ポリシーを制御します。LowMemoryLimitは、最小メモリ割り当てではありません。これは、システムがメモリ不足であるとSSASが判断し、キャッシュからデータをフラッシュし始めるしきい値です。HighMemoryLimitは、使用する絶対最大値です。

SSASはデータをファイル(多くのファイル-ファイルグループに相当するメカニズムを持たない)に保存するため、これらのファイルに対してO / Sファイルシステムキャッシュを多く使用することに注意してください。これらの制限のデフォルトは、それぞれマシンのメモリの約65%と80%であるため、OLAPサーバーをSQL Serverインスタンスと共存させる場合は、メモリを奪い合うことのないようにそれらを無効にする必要があります。データベースサーバー。

ディレクトリ:対象となる 5つのパラメーター:DataDir、AllowedBrowsingFolders、BackupDir、LogDir、TempDir。DataDirとAllowedBrowsingFoldersが最も重要です。

  • AllowedBrowsingFoldersは、OLAPサーバーがデータファイルを配置するフォルダーのリストに影響を与えます。ユーザーインターフェイス(展開ウィザードなど)を持つものはすべて、AllowedBrowsingFoldersのリストにオプションを制限します。値はパイプ( '|')で区切られたディレクトリのリストです。

  • DataDirはファイルのデフォルトパスです。キューブを複数のボリュームに分割する場合は、AllowedBrowsingFoldersを適切に構成する必要があります。

  • LogDirは、サーバーがフライトレコーダーやクエリログなどのさまざまなログファイルを配置する場所です。フライトレコーダーログはトラブルシューティングに使用され、OLAPクエリログは使用法に基づいた最適化に使用されます(詳細は後述)。

  • TempDirは、処理中にSSASが作成する一時ファイルの場所です。大量のデータを処理していて、パフォーマンスの問題がある場合、これをデータから別のボリュームにシフトするとメリットが得られる場合があります。

  • BackupDirは、ブリキに書かれていることです。

その他: いくつかのその他のパラメーターも興味深い場合があります。微調整する必要のあるいくつかのセットは次のとおりです。

  • DefaultMaxDrillthroughRows:これは、ドリルスルー行セットのサイズを制限します。さらに許可するには、これを調整する必要がある場合があります。

  • スレッド/タイムアウト:これらを調整する必要がある場合があります。気にする必要はありませんでした。

これらが基本です。特定の理由で他の人を微調整する必要があるかもしれませんが、その上で宿題をすることができます。

SSASサーバープロパティのリファレンスガイドは、ここにあります。

操作

展開: プロジェクトをBIDSでコンパイルし、展開ウィザードで展開できる一連のファイルを取得できます パーティションのファイルパスを調整する必要がある場合があります。

プログラムされたバッチ管理タスク:コマンドは、XML / Aと呼ばれるWebサービスAPIを介してSSASに発行されます。マイクロソフトは、MDXおよびXML / Aコマンドを発行するための対話型ツールを提供しています。XML / AコマンドにMDXを埋め込む必要がある場合は、などのXMLエスケープを使用する必要があることに注意してください&。これは、SSMSのMDXエディターおよびクエリツールの問題ではありません。

オフラインジョブは、さまざまなSSISキューブ処理タスク、呼び出されるコマンドラインユーティリティ、ascmd.exeまたはAMOと呼ばれる.Net APIを介して実行できます。また、さまざまなPowerShellツールなども入手できます。 ascmd.exeXML / Aファイルを取得し、サーバーに投稿します。プログラムでファイルを凍結する必要がある場合は、.cmdスクリプトからXMLファイルを操作しようとするよりも、小さな.Netツールで作業した方がよい場合があります。

操作ガイドは、より詳細にこれに入ります。

セキュリティ

SSASのセキュリティはかなり単純です。システム全体の管理権限を持つグローバルな「サーバー」ロールがあります。残念ながら、データベースを作成するには「サーバー」が必要です。そのため、所有している開発OLAPサーバーの開発者にデータベースを付与する必要があります。

その他のセキュリティは、個々のキューブスキーマにのみ適用できます。個々のアイテムの読み取り、処理、ドリルスルー、ライトバックなどの権限をスキーマ内のロールに付与できます。OLAPスキーマのロールはBIDS内で定義でき、キューブと共にデプロイされます。ADグループまたはユーザーは、SSMSを介してこれらの役割に割り当てることができます。

役割のメンバーシップをプログラムで管理する方法の例は、こちらをご覧ください。

使用量ベースの最適化

DBAとしては、これに関係するかもしれませんが、最初は物理ストレージについて少し背景知識があります。SSASは、事前に構築された集計と基本データを計算して永続化することにより機能します。集計にヒットすることでクエリが満たされる場合、OLAPサーバーは基本データよりも優先してこれを使用します。これは、集計のI / Oが大幅に少なくなるため、データの取得が高速になるためです。

ただし、計算する集計(つまり、ロールアップを生成するディメンション属性の組み合わせ)を決定する必要があります。BIDSには、これを推測し、いくつかを生成するツールがあります。BIDSヘルパーなどの一部のツールでは、集計を手動で編集することもできます。

使用法に基づく最適化は、サーバーに発行された実際のクエリのログを取得し、そのログを使用して、それらのクエリに最適な集計セットを作成することにより機能します。DBAとして、OLAPクエリログを設定してこのデータをキャプチャし、キューブで最適化を実行できます。クエリログの設定に関する宣伝文句はこちらにあります。

これを行うためのツールは、「使用法ベースの最適化ウィザード」と呼ばれます。 これはSSMSに存在し、エクスプローラーでパーティションを開き、右クリックメニューから[使用法に基づく最適化]を選択することで見つけることができます。

パフォーマンスガイドは、より詳細にチューニングに入ります。

MDX

MDXはSQLに少し似ていますが、動作が非常に異なります。「SQLプログラマー向けのMDX」に関する論文は、それ自体がトピック全体です。チュートリアルを読んだり、本を読んだりすることをお勧めします。さらに、dba.seのフレンドリーな人々は、もしあれば質問を手助けすることができます。

MDXには、行のフィルタリングの概念はありません。この言語には、クエリ1のさまざまな軸に何を表示するかを決定するための多数の集合演算と、「SELECT」があります。withCTEのように見えるステートメントを使用して、メジャーとセットを定義できます。

入門用のMDXプログラミングリソースは、ここここにあります(これは非常に古く、非常に長く曲がったものです)。また、このテーマに関する優れた書籍もいくつかあります。このSOの質問には、SSASリソースに対するかなりのファンアウトがあります。

1実際にはデータがある組み合わせに結果を制限する空でない演算子がありますが。ほとんどのMDXクエリは、軸に表示するスライスを定義することで構成され、空のセルの組み合わせレベルの量を返すクエリを回避するために空でない演算子が必要になります。


5
優れた情報。特に「起動時にサーバーを破壊するオプションを設定できます」というアドバイス。
SqlACID

それは素晴らしい答えです!ありがとう!
マリアン

6

この長文のホワイトペーパーSQL Server 2008 R2 Analysis Services操作ガイドからSSAS管理に関する回答の一部を入手できます。これが紹介の始まりです。

このガイドでは、運用環境でSQL Server 2005、SQL Server 2008、およびSQL Server 2008 R2でMicrosoft SQL Server Analysis Servicesをテストおよび実行する方法について説明します。このガイドの焦点は、最大規模のキューブでも実稼働の問題をテスト、監視、診断、および削除する方法です。また、このペーパーでは、最高のパフォーマンスを実現するためのサーバーの構成方法に関するガイダンスも提供しています。

明らかに、DBA /管理者を対象としています。SSASを使用してアプリケーションを開発する場合は、Analysis Services 2008パフォーマンスガイドホワイトペーパーもご覧ください。


ありがとう、DaniSQL。私もこの論文を見つけました。おそらく質問でそれを言及しているはずです(ごめんなさい!)
ivanmp

2
私は自分でSSASに直接取り組んでいないため、経験から話すことはできません:-バックと書籍の読みamzn.to/za1ypPは、トレーナーが執筆をまた、非常に基本的な導入は、この本の第17章で見つけることができる- 。以降、マイクロソフトSQLServer®の2008の管理(amzn.to/xnKAWw
DaniSQL
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.