SQL 資料庫壓縮 指令
壓縮資料庫記錄檔文件:
DBCC SHRINKFILE( '紀錄檔檔名',新的大小壓縮值)
或
DUMP TRANSACTION '?名' WITH NO_LOG
或
BACKUP LOG { database_name | @database_name_var }
[ WITH
{ NO_LOG | TRUNCATE_ONLY } ]
}
例如,壓縮資料庫記錄檔:
DBCC SHRINKFILE( 'test_log',1)
MSSQL資料庫變小有MDF及LOG
在LOG有
進入Enterprise Manager Microsoft SQL Server ->SQL Server群組 ->ServerName(Windows NT)->
資料庫 ,Mouse移到資料庫上右鍵 ->所有工作 ->壓縮資料庫
MDF方而
要做計劃維護
進入Enterprise Manager Microsoft SQL Server ->SQL Server群組 ->ServerName(Windows NT)->管理->資料庫維護計劃->滑鼠右鍵->新增一個計劃
維護為排程執行.
1..當你從sql server 刪除一筆資料時,會留下一個空白的空間,而不讓其他新資料使用
2..實際做法DBCC SHRINKDATABASE 為手動每執行一次,壓縮一次
USE MASTER EXEC SP_DBOPTION 'DATABASENAME','AUTOSHRINK',TRUE
會把checkbox勾選,如此SQL SERVER 在有需要時,會自動壓縮
其實不必去買硬碟啦...這個問題每每不知被問過多少次,其實寫程式的人也不一定知道如何做,並非他不幫你,因為這比較偏DBA的方面的技術,一般Programer不會涉略那麼深,這問題的關鍵就在一個命令dbcc ,另外你SQL Server資料庫設定環境似乎好像也有問題(我的直覺),應該會有更好的設定方式,但我沒法該告訴你怎麼設,得看真實環境的部分才知,先解決你的Log檔過大的問題,請在Sql Analyzer中執行下列指令(做之前先備份):
use master
backup log YYDATA with truncate_only ....清除log檔
dbcc shrinkdatabase (YYDATA,800) ....壓縮資料庫->成800MB(但不會真的變小,空間重整而已)
use YYDATA
dbcc shrinkfile (YYDATA_log,100) ....將Log檔變小->真的變小100MB...24G就會減肥囉
1.唉~其實這當中還有蠻多機制和學問的啦...微軟SQL Server 2000 DBA管理教材中談得很詳細,但要講得明白可能要說好幾個小時....
2.dbcc的用法你可以看SQL Server Help裡面也有談一些片斷的知識,尤其是shrinkfile運作原理有空你可以看看囉...
3.另外你好像有點慘耶,你是負責什麼樣的工作內容?好像被趕鴨子上架去管SQL Server似的,SQL Server很簡單安裝沒錯,但其實在真實的商業環境中要能克服所有的突發狀況,就不像想像中麼容易...很多背後及底層運作的機制原理不懂時,管起SQL Server有時真令人提心吊膽呢...
DBCC SHRINKFILE( '紀錄檔檔名',新的大小壓縮值)
或
DUMP TRANSACTION '?名' WITH NO_LOG
或
BACKUP LOG { database_name | @database_name_var }
[ WITH
{ NO_LOG | TRUNCATE_ONLY } ]
}
例如,壓縮資料庫記錄檔:
DBCC SHRINKFILE( 'test_log',1)
MSSQL資料庫變小有MDF及LOG
在LOG有
進入Enterprise Manager Microsoft SQL Server ->SQL Server群組 ->ServerName(Windows NT)->
資料庫 ,Mouse移到資料庫上右鍵 ->所有工作 ->壓縮資料庫
MDF方而
要做計劃維護
進入Enterprise Manager Microsoft SQL Server ->SQL Server群組 ->ServerName(Windows NT)->管理->資料庫維護計劃->滑鼠右鍵->新增一個計劃
維護為排程執行.
1..當你從sql server 刪除一筆資料時,會留下一個空白的空間,而不讓其他新資料使用
2..實際做法DBCC SHRINKDATABASE 為手動每執行一次,壓縮一次
USE MASTER EXEC SP_DBOPTION 'DATABASENAME','AUTOSHRINK',TRUE
會把checkbox勾選,如此SQL SERVER 在有需要時,會自動壓縮
其實不必去買硬碟啦...這個問題每每不知被問過多少次,其實寫程式的人也不一定知道如何做,並非他不幫你,因為這比較偏DBA的方面的技術,一般Programer不會涉略那麼深,這問題的關鍵就在一個命令dbcc ,另外你SQL Server資料庫設定環境似乎好像也有問題(我的直覺),應該會有更好的設定方式,但我沒法該告訴你怎麼設,得看真實環境的部分才知,先解決你的Log檔過大的問題,請在Sql Analyzer中執行下列指令(做之前先備份):
use master
backup log YYDATA with truncate_only ....清除log檔
dbcc shrinkdatabase (YYDATA,800) ....壓縮資料庫->成800MB(但不會真的變小,空間重整而已)
use YYDATA
dbcc shrinkfile (YYDATA_log,100) ....將Log檔變小->真的變小100MB...24G就會減肥囉
1.唉~其實這當中還有蠻多機制和學問的啦...微軟SQL Server 2000 DBA管理教材中談得很詳細,但要講得明白可能要說好幾個小時....
2.dbcc的用法你可以看SQL Server Help裡面也有談一些片斷的知識,尤其是shrinkfile運作原理有空你可以看看囉...
3.另外你好像有點慘耶,你是負責什麼樣的工作內容?好像被趕鴨子上架去管SQL Server似的,SQL Server很簡單安裝沒錯,但其實在真實的商業環境中要能克服所有的突發狀況,就不像想像中麼容易...很多背後及底層運作的機制原理不懂時,管起SQL Server有時真令人提心吊膽呢...
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具