2011-09-27 50 views
0

MS SQL 2008.如何知道應用FILEGROWTH時的DB大小?

我有一個使用FILEGROWTH的數據庫(該屬性指定數據庫的增長增量)。

只要我的數據庫達到40MB DB的大小,它將被擴展+20 MB(FILEGROWTH),直到達到MAXSIZE ...正確?

如果它是正確的,我怎麼能得到Current Size我的數據庫中的任何表中的所有行...我想知道是否有可能有實際內容的大小不是Db SIZE + FILEGROWTH。

希望大家我可以有一個清晰的解釋,我對DB很新。謝謝你的幫助!

這裏我使用的代碼。

CREATE DataBase MyDB 
ON PRIMARY 
(
    NAME = 'MyDB', 
    FILENAME = 'C:\Server\Data\DataBase\MyDB.mdf', -- Location DataBase 
    SIZE = 40 MB, 
    MAXSIZE = 960 MB, 
    FILEGROWTH = 20 MB 
) 
LOG ON 
(
    NAME = 'MyDB', 
    FILENAME = 'C:\Server\Data\DataBase\MyDB.ldf', -- Location Log files 
    SIZE = 20 MB, 
    MAXSIZE = 960 MB, 
    FILEGROWTH = 20 MB 
) 
WITH DB_CHAINING OFF 
GO 

回答

1

的快速方法是運行sp_spaceused不帶參數

如果你看看這個PROC的代碼,你應該看到基於SYS意見,你等查詢想要的東西稍微聰明

編輯:我之前做過:How do I find out what tables have data in a file in SQL Server?

+0

很酷它工作,只是爲了好奇...你知道其他方式來做到這一點嗎? – GibboK

+0

@GibboK:剛更新。是的,你可以使用基於sys.allocation_units等查詢。另請參閱:http://stackoverflow.com/questions/1109248/how-do-i-find-out-what-tables-have-data-in-a -file-in-sql-server/1109289#1109289 – gbn

+0

我真的很感激你對此的幫助。我會接受你的答案,謝謝! – GibboK

相關問題