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
答案 0 :(得分:1)
快速方法是在没有参数的情况下运行sp_spaceused
如果你看看这个proc的代码,你应该看到基于sys视图等的查询,你想要一些稍微聪明的东西
编辑:我之前做过:How do I find out what tables have data in a file in SQL Server?