2012-07-04 25 views
1

在SQL Azure中,每個數據庫都有一個大小限制(adjustable)。爲了讓我的服務不會突然中止,我希望能夠以編程方式查找當前最大大小和當前實際使用的空間(並在達到某個閾值後生成併發出警報)。如何查找SQL Azure中的最大數據庫空間和已用數據庫空間?

看起來像sp_mstablespace can be used to solve this problem,但此存儲過程在SQL Azure中不可用。

如何在SQL Azure數據庫中找到當前的最大允許大小和當前實際使用的空間?

回答

3

可以計算通過動態管理視圖中使用的空間(參考第here):

SELECT SUM(reserved_page_count)*8.0/1024 
FROM sys.dm_db_partition_stats; 

雖然我不認爲你可以檢索最大尺寸,它不會傷害到你的簡單數據庫設置爲最大的尺寸,因爲你只是爲你使用的空間收費。話雖如此:如果你只處於5GB以下的範圍,最好使用網絡版。如果您的存儲容量已超過10 GB,則不應將最大容量設置爲150 GB,然後再監控所消耗的容量。

3

David已經指出如何查找數據庫的當前大小,如果您想知道數據庫的最大大小(以MB爲單位),則需要在您感興趣的數據庫中運行以下查詢:

SELECT CONVERT(BIGINT, DATABASEPROPERTYEX('DatabaseOfInterestName', 'MaxSizeInBytes'))/1024 

Reference

+0

+1 - 甚至從來沒有注意到這一點。 –

+0

當前連接:'select DATABASEPROPERTYEX(db_name(),'MaxSizeInBytes')' – roufamatic

相關問題