標籤:blog http io 使用 ar strong for 檔案 資料
方法 1、 sys.dm_db_file_space_usage。
方法 2、 sys.dm_db_session_space_usage。
--------------------------------------------------------------------------------------------------------------------------------------------------------------
方法 1 、
sys_dm_db_file_space_usage 它度量方式是以頁(page)為單位的,對每個資料庫的不同檔案都返回一行(不包涵 log 檔案)
用它是時候先要 use 到指定的資料庫才行。它不會返回當前執行個體中的所有資料庫的資訊,針對當前資料庫。
total_page_count :總頁面數
allocated_extent_page_count :檔案的已指派區中的總頁數 。
unallocated_extent_page_count:檔案的未分配區中的總頁數。
user_object_reserved_page_count:從統一區為資料庫中的使用者物件分配的總頁數。 計數中包括已指派區中未使用的頁。
internal_object_reserved_page_count:從統一區為檔案中的內部對象分配的總頁數。
mixed_extent_page_count :檔案的已指派混合區中的已指派和未分配總頁數。
例子、
select
DB_NAME(usage.database_id) as DBName,
sum(usage.unallocated_extent_page_count) as UnallocatedPage,
sum(usage.allocated_extent_page_count) as AllocatedPage,
sum(usage.internal_object_reserved_page_count)as InternalPage,
sum(usage.user_object_reserved_page_count) as UserObjectPage,
sum(usage.mixed_extent_page_count) as MixedPage from sys.dm_db_file_space_usage as usage
group by usage.database_id
go
方法 2、
sys.dm_db_session_space_usage 返回每個會話為資料庫分配和釋放的頁數、它只是針對tempdb空間使用方式,別的資料庫看不了
user_objects_alloc_page_count:由該會話為使用者物件保留或分配的頁數。
user_objects_dealloc_page_count:由該會話釋放並不再為使用者物件保留的頁數。
internal_objects_alloc_page_count:由該會話為內部對象保留或分配的頁數。
internal_objects_dealloc_page_count:由該會話釋放並不再為內部對象保留的頁數。
例子、
select
DB_NAME(usage.database_id) as DBName,
usage.session_id,
usage.user_objects_alloc_page_count,
usage.user_objects_dealloc_page_count,
usage.internal_objects_alloc_page_count,
usage.internal_objects_dealloc_page_count
from sys.dm_db_session_space_usage usage;
go
小結:
sys.dm_db_session_usage 只針對 tempdb。
SQL Server 查看資料庫空間分配情況的 2 種方法