应用FILEGROWTH时如何知道数据库大小?

时间:2011-09-27 11:20:09

标签: sql-server sql-server-2008

MS SQL 2008。

我有一个使用FILEGROWTH的数据库(此属性指定数据库的增长增量。)。

一旦我的DataBase达到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 个答案:

答案 0 :(得分:1)

快速方法是在没有参数的情况下运行sp_spaceused

如果你看看这个proc的代码,你应该看到基于sys视图等的查询,你想要一些稍微聪明的东西

编辑:我之前做过:How do I find out what tables have data in a file in SQL Server?