今日、私は解決するように求められた問題のトラブルシューティングを開始し、初めてSSASデータベースでクエリを実行することに気付きました。非常に便利な結果セット(だれがどのアプリケーション/キューブにどのくらいの期間接続していたか)を取得しましたが、私の人生では、そのクエリからデータベーステーブルに結果を取得して追跡する方法を理解できませんデータ。どんな助けでも大歓迎です、そしてあなたが提供できるどんな援助でも前もって感謝します。
これが私が実行しているクエリです:
Select connection_id , connection_user_name ,
connection_impersonated_user_name , connection_Host_name ,
connection_Host_application , connection_start_time ,
connection_elapsed_time_ms , connection_last_command_start_time ,
connection_last_command_end_time , connection_last_command_elapsed_time_ms ,
connection_idle_time_ms , connection_bytes_sent , connection_bytes_received ,
connection_data_bytes_received FROM $system.discover_connections
これにより、現在見たい情報がすべて返されます。
SSASには、テーブルなどはありません。それはすべて多次元のものです。必要なことは、データベースエンジンインスタンスのテーブルに結果を取得することです。
これを行う1つの方法を次に示します。
DMVSを介して接続、セッション、およびその他のオブジェクトを追跡する場合、セッションまたは接続の合計バイト数などのデータは無効になると見なされます。
たとえば、間隔が60秒の定期的なSQLジョブの場合、接続が確立され、この接続がデータを取得するいくつかのセッションを作成し、セッションと接続が60秒のウィンドウ時間内に期限切れまたはクローズされた場合、ジョブはデータをキャプチャできず、その後、結果が正しくない場合があります。
DMVSは、実行中のサーバーのRAM=に保存されるデータであり、再起動またはクローズされるまで保持されます。また、DMVSは、履歴ログデータではなく、システムのスナップショットと見なす必要があります。
リソース消費とデータ転送は、DMVSでキャプチャしたテーブルから表示された結果よりも大きくなります。