您可以使用Sql Azure Dynamic Management Views以編程方式監視Sql Azure數據庫。請注意,您將無法一次監視整個聯邦數據庫,而只能監視其各個成員。
使用動態管理視圖來檢查條件1),與大小相關的條件應該是直截了當的。檢測條件編號2)與流量/性能相關,因爲您首先需要確定有意義的確切指標及其閾值,因此更難一些。
要記住的一件事非常重要,就是SPLIT和DROP操作的行爲非常不同。 SPLIT是一個在線操作(它不涉及任何停機時間),通過它將分區成員分成兩個數據庫。數據將在兩者之間自動分割。這種行爲意味着分割確實可能會從自動縮放過程中觸發。
但是DROP完全不同。在刪除聯合成員時,Sql Azure會將其鍵值範圍移至較低或較高的鄰居聯合成員,但數據本身只是被刪除。您可以在this文章(在其中搜索「縮小」)中獲得更詳細的說明。基本上,您將不得不手動導出已刪除數據庫中的數據,並手動將其合併到目標數據庫中。從技術上講,您可能能夠通過命令行版本的Sql Azure遷移向導自動執行合併操作,但這樣做有風險。在投入生產之前需要進行大量測試。
微軟正計劃在聯邦成員下落實施自動合併,但這將在未來的版本中發生。就目前而言,自動縮小並不是我會推薦的。
更新
對於那些有興趣,你可以投票支持對SQL聯合Azure數據庫here合併操作。