前言:

我来讲讲为什么要收集这些sql语句代码,最近在收集一些.NET程序源码,但发现源码里的sql server 2008数据库文件都非常大,基本都是几G大小,毫无疑问这些都是别人用过的数据,如果直接重新打包源码,那么压缩包会非常大,会占用大量的空间,因此就需要对数据库进行清理,并且优化。除了要删除数据记录外,还需要删除数据库日志,下面这些sql语句都是非常实用的!

1、查询数据库大小

exec sp_spaceused;

2、查询数据库里各个表占用的空间大小

exec sp_MSforeachtable "exec sp_spaceused '?'";

3、清空数据库表

Truncate table 表名;

4、查看有关数据库文件的信息 

select * from sys.database_files;

5、将数据库文件压缩到1 MB

DBCC SHRINKFILE ('数据库文件名或者日志文件名', 1);
GO

6、查询外键和删除外键

--查询外键
SELECT * FROM sys.foreign_keys
WHERE referenced_object_id=OBJECT_ID('被引用的表名');
--删除外键 删除掉引用表的外键
ALTER TABLE dbo.引用的表名 DROP constraint 查询到的外键名;

7、清空日志文件

--查询数据库日志文件名
USE 数据库名称
GO 
SELECT name FROM SYS.database_files WHERE type_desc='LOG'
--清空日志
DBCC SHRINKFILE (N'日志文件名称' , 0,TRUNCATEONLY) 
GO 

 

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐