2つのSQLServerで管理データウェアハウス機能を構成しています。どちらも同じ中央データベースを指し、その結果をデータベースにアップロードします。
インスタンスから実行される組み込みレポートでは、すべてが正常に機能します。ただし、snapshots.diskusage
テーブルからすべてのデータを取得して、データベースがどのように成長したかを示し、次の時間のストレージソリューションを策定するのに役立てています。ほとんどの場合、データベースには一意の名前が付けられているため、実行する必要はありません。
SELECT *
FROM [RKYV_MDW].[snapshots].[disk_usage]
WHERE database_name = 'tempdb'
トリッキーな部分はシステムデータベースに付属しており、特に厄介なのはtempdb
です。両方のインスタンスにtempdb
があり、それらの統計をアップロードしているのを見ると、データポイントの数が2倍になり、グラフはやや無意味になります。テーブルバーsnapshot_idには、2つを分離するのに役立つものは何もありませんが、これが特定のインスタンスtempdb
に固有であるかどうかはわかりません。
誰かがこれについて何か考えがありますか?私の代替案は、1行おきに(データをざっと見てから)選択することですが、もっとエレガントな方法があるはずだと感じています。
スナップショット_internalを介して、サーバーインスタンス名を持つsource_info_internalに参加します。
SELECT du.*, sii.instance_name
FROM [snapshots].[disk_usage] du
INNER JOIN core.[snapshots_internal] si ON du.snapshot_id = si.snapshot_id
INNER JOIN [core].[source_info_internal] sii ON si.source_id = sii.source_id
WHERE du.database_name = 'tempdb'