日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

转:数据库收缩

發(fā)布時(shí)間:2025/3/15 数据库 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 转:数据库收缩 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1. 數(shù)據(jù)庫的相關(guān)屬性

在MS中創(chuàng)建數(shù)據(jù)庫時(shí)會(huì)為數(shù)據(jù)庫分配初始的大小(如下圖:數(shù)據(jù)庫和日志兩個(gè)文件),隨著數(shù)據(jù)庫的使用文件會(huì)逐漸增大。數(shù)據(jù)庫文件大小的增加有兩種方式:

  • 自動(dòng)增長:在自動(dòng)增長中可以設(shè)置每次的增長量,以及最大增長的文件大小。
  • 手動(dòng)增長:取消“啟用自動(dòng)增長”則為手動(dòng)增長,這就需要DBA經(jīng)常觀測數(shù)據(jù)庫的運(yùn)行情況,及時(shí)更改數(shù)據(jù)庫的小。手動(dòng)增長比較麻煩,一般都設(shè)為自動(dòng)增長。

2. 為何數(shù)據(jù)庫需要收縮?

要明白為何數(shù)據(jù)庫需要收縮,首先需要理解兩個(gè)概念:

  • 為數(shù)據(jù)庫分配的空間:如上圖初始時(shí)為“數(shù)據(jù)庫文件”分配的空間為3MB,為“日志文件”分配的空間未1MB。
  • 數(shù)據(jù)庫實(shí)際使用的空間:以上圖為例,由于數(shù)據(jù)是剛創(chuàng)建的,里面沒有任何用戶數(shù)據(jù),因此它實(shí)際使用的空間很小(不足1MB)。

由此可以理解為:分配空間>=使用空間。在實(shí)際使用的過程中可能會(huì)出現(xiàn)分配空間為100MB,而使用空間僅為20MB,這就造成了磁盤有80MB的浪費(fèi),為了消除這種浪費(fèi)就需要使用“數(shù)據(jù)收縮”功能。

3. 如何收縮數(shù)據(jù)庫?

3.1 通過設(shè)置數(shù)據(jù)庫選項(xiàng)AUTO_SHRINK為True,即讓數(shù)據(jù)庫自動(dòng)收縮,如下圖:

3.2 收縮數(shù)據(jù)庫文件

右鍵數(shù)據(jù)庫—任務(wù)—收縮—文件,如下圖:

文件類型:選擇所要收縮的是“數(shù)據(jù)庫文件”還是“日志文件”。

當(dāng)前分配的空間:數(shù)據(jù)庫為該文件分配的大小,就是在磁盤上看到的文件大小。

可用空間:就是“當(dāng)前分配的空間” 減去“實(shí)際使用的空間”。

收縮操作
? ?① 釋放未使用的空間:將該文件中未使用的空間釋放出來,數(shù)據(jù)在文件中不移動(dòng);
? ?② 在釋放未使用的空間前重新組織頁:此選項(xiàng)可以將文件收縮到“指定大小”,并將數(shù)據(jù)重新組織。其最小值為數(shù)據(jù)庫“實(shí)際使用的空間”;
? ?③ 通過將數(shù)據(jù)遷移到同一文件組的其他文件來清空文件:不解釋,很少用。

上述操作也可以使用T-SQL替代

DBCC ShrinkFile(‘?dāng)?shù)據(jù)庫名’, targetsize); /* 收縮數(shù)據(jù)庫文件 */ DBCC ShrinkFile(‘?dāng)?shù)據(jù)庫名_log’, targetsize); /* 收縮日志文件 */

Targetsize:單位為兆,必須為整數(shù),DBCC SHRINKFILE 嘗試將文件收縮到指定大小。

DBCC SHRINKFILE 不會(huì)將文件收縮到小于“實(shí)際使用的空間”大小,例如“分配空間”為10M,“實(shí)際使用空間”為6M,當(dāng)制定targetsize為1時(shí),則將該文件收縮到6M,不會(huì)將文件收縮到1M。

3.3 收縮數(shù)據(jù)庫

即同時(shí)收縮“數(shù)據(jù)庫文件”和“日志文件”,右鍵數(shù)據(jù)庫—任務(wù)—收縮—數(shù)據(jù)庫

收縮后的最大可用空間:設(shè)為0,即收縮所有的可用空間。

也可以使用T-SQL完成數(shù)據(jù)庫的收縮

DBCC SHRINKDATABASE(數(shù)據(jù)庫名,百分比)

百分比:即“收縮后文件中的最大可用空間”,取值范圍“大于等于0, 小于100%”,實(shí)際使用中設(shè)為0即可。

轉(zhuǎn)載于:https://www.cnblogs.com/jearay/p/8571787.html

總結(jié)

以上是生活随笔為你收集整理的转:数据库收缩的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。