查询sql server某个数据库的大小
时间: 2023-08-31 12:13:37 浏览: 43
查询 SQL Server 某个数据库的大小可以使用以下 SQL 语句:
```
USE database_name;
SELECT
CONVERT(DECIMAL(10,2), SUM(size)/128.0) AS [Total Size in MB],
CONVERT(DECIMAL(10,2), SUM(FILEPROPERTY(name, 'SpaceUsed'))/128.0) AS [Used Space in MB],
CONVERT(DECIMAL(10,2), (SUM(size)-SUM(FILEPROPERTY(name, 'SpaceUsed')))/128.0) AS [Free Space in MB]
FROM
sys.database_files;
```
其中,`database_name` 是要查询的数据库名称,可以将其替换为实际的数据库名称。这条 SQL 语句会返回三个列,分别是数据库的总大小、已使用空间和空闲空间,单位均为 MB。
需要注意的是,这里的总大小是指数据库文件的总大小,包括数据文件和日志文件。如果只需要查询数据文件的大小,可以修改查询语句,只查询数据文件的大小,如下所示:
```
USE database_name;
SELECT
CONVERT(DECIMAL(10,2), SUM(size)/128.0) AS [Total Size in MB],
CONVERT(DECIMAL(10,2), SUM(FILEPROPERTY(name, 'SpaceUsed'))/128.0) AS [Used Space in MB],
CONVERT(DECIMAL(10,2), (SUM(size)-SUM(FILEPROPERTY(name, 'SpaceUsed')))/128.0) AS [Free Space in MB]
FROM
sys.database_files
WHERE
type_desc = 'ROWS';
```
这样只会查询数据文件的大小,不包括日志文件的大小。