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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQLSERVER压缩数据文件的用处有多大

發布時間:2025/3/17 数据库 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQLSERVER压缩数据文件的用处有多大 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

SQLSERVER壓縮數據文件的用處有多大

前奏:

前些天因為客戶那邊的問題(其實是盜版問題),只能使用免費的SQLSERVER EXPRESS版本

SQLSERVER2005 的express版本的SQLSERVER的整個數據庫的數據文件大小限制為4GB(SQLSERVER2012express版本限制是10G),就是說不管你用多少個文件組,多少個輔助數據文件ndf

所有加起來都不能超過4GB(mdf+ndf)

事務日志文件大小沒有限制

因為我們的數據庫只是使用了一個主數據文件GPOS.mdf和一個事務日志文件GPOS.ldf

?

本人的解決思路:

本人在想如果是這樣,到時候就收縮數據庫唄

在網上查了一下資料:由于DBCC SHRINKDATABASE一次運行會同時影響所有的文件(包括數據文件和日志文件),使用者不能

指定每個文件的目標大小,其結果可能不能達到預期的要求。所以建議先做好規劃,對每個文件確定預期目標,然后使用DBCC SHRINKFILE

來一個文件一個文件地做比較穩妥

本來很開心的,網上資料都說使用DBCC SHRINKFILE來收縮文件,那這樣就不怕拉 (我不怕不怕拉~)

但是,往下看那個資料:

1、首先了解數據文件當前的使用情況

收縮量的大小不可能超過當前文件的空閑空間的大小。如果想要壓縮數據庫的大小,首先要確認數據文件里的確有相應未被使用的空間。如果空間都在

使用中,那就要確認大量占用空間的對象(表格或索引)。然后通過歸檔歷史數據,先把空間釋放出來

?

2、主數據文件(primary file)是不能被清空的。能被完全清空的只有輔助數據文件

?

3、如果要把一個文件組整個清空,要刪除分配在這個文件組上的對象(表格或索引),或者把他們移到其他文件組上。
DBCC SHRINKFILE不會幫你做這個工作

把數據文件里面數據和對象清除完、確認數據文件(組)有足夠的空閑空間后,管理員就可以使用DBCC SHRINKFILE來縮小或清空指定文件了。

如果要縮小文件,就填上需要的target_size,如果要清空文件,就選擇EMPTYFILE

?

根據上面資料所說,本人的解決思路是:

1、確認大量占用空間的對象(表格或索引)。然后通過歸檔歷史數據,先把空間釋放出來再壓縮數據文件

2、重建索引,把一些數據頁面重排一次,原先的頁面被釋放,所占用的分區也被釋放,再去DBCC SHRINKFILE

如果你們有其他解決方法希望你們告訴我,謝謝您們了!!

?

總結

以上是生活随笔為你收集整理的SQLSERVER压缩数据文件的用处有多大的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。