Sqlserver 数据库文件大小和剩余空间
程序员文章站
2024-03-25 21:31:46
...
在MS Sql Server中可通过以下的方法查询出磁盘空间的使用情况及各数据库数据文件及日志文件的大小及使用利用率:
1、查询各个磁盘分区的剩余空间:
Exec master.dbo.xp_fixeddrives;
2、查询数据库中的所有数据库名:
SELECT Name FROM Master..SysDatabases ORDER BY Name;
3、查询某个数据库中所有的表名:
SELECT name FROM SysObjects Where XType=’U’ ORDER BY Name;
4、查询数据库的数据文件及日志文件的相关信息(包括文件组、当前文件大小、文件最大值、文件增长设置、文件逻辑名、文件路径等)
select * from [数据库名].[dbo].[sysfiles];
转换文件大小单位为MB:
select name, convert(float,size) * (8192.0/1024.0)/1024. from [数据库名].dbo.sysfiles;
5、查询当前数据库的磁盘使用情况:
Exec sp_spaceused;
exec sp_spaceused ‘表名’; –取得表占用空間
6、查询数据库服务器各数据库日志文件的大小及利用率
DBCC SQLPERF(LOGSPACE);
7、收缩数据库日志文件(sql server2005)
backup log [数据库名] with no_log
DBCC SHRINKDATABASE(N’[数据库名]’, 15, TRUNCATEONLY)
8、收缩数据库日志文件(sql server2008)
USE[master]
GO
ALTER DATABASE [数据库名] SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE [数据库名] SET RECOVERY SIMPLE –简单模式
GO
USE [数据库名]
GO
DBCC SHRINKFILE (N’[数据库名]_Log’ , 11, TRUNCATEONLY)
GO
USE[master]
GO
ALTER DATABASE [数据库名] SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE [数据库名] SET RECOVERY FULL –还原为完全模式
GO
上一篇: 统计数据库中某个值的数量
推荐阅读
-
Sqlserver 数据库文件大小和剩余空间
-
修改sqlserver的数据库名、物理名称和逻辑文件名
-
sqlServer2005 清空数据库中所有数据,表和表结构和约束都不删
-
oracle 删除和重建表空间脚本 博客分类: 数据库 oraclesql
-
MySQL数据库查看数据表占用空间大小和记录数的方法
-
MySQL数据库查看数据表占用空间大小和记录数的方法
-
MySQL中查询所有数据库占用磁盘空间大小和单个库中所有表的大小的sql语句
-
MySQL中查询所有数据库占用磁盘空间大小和单个库中所有表的大小的sql语句
-
mysql查询所有数据库和每个表磁盘所占空间大小容量的方法sql
-
SQLServer如何查看数据库中表占用的磁盘空间