sql server 2008查詢數據庫大小,壓縮數據庫空間等操作

前言:

我來講講爲什麼要收集這些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 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章