談SQL Server 壓縮日志及數(shù)據(jù)庫(kù)文件大小_Mssql數(shù)據(jù)庫(kù)教程
推薦:淺談初探MS SQL CE Codesmith原來(lái)的程序是使用sqlite這個(gè)嵌入式數(shù)據(jù)庫(kù)作為Remit(code name)的數(shù)據(jù)源的,因?yàn)镹Hibernate支持這個(gè),然而有一點(diǎn)不好的是sqlite不支持外鍵,導(dǎo)致可悲的codesmith不能得到關(guān)系,無(wú)法生成我喜歡的多對(duì)多映射.如果手寫(xiě)就要寫(xiě)映射xml文件以及業(yè)務(wù)實(shí)體類,這可是我這種
請(qǐng)按步驟進(jìn)行,未進(jìn)行前面的步驟時(shí),請(qǐng)不要做后面的步驟,以免損壞你的數(shù)據(jù)庫(kù).
一般不建議做第4,6兩步,第4步不安全,有可能損壞數(shù)據(jù)庫(kù)或丟失數(shù)據(jù)。第6步如果日志達(dá)到上限,則以后的數(shù)據(jù)庫(kù)處理會(huì)失敗,在清理日志后才能恢復(fù)。
1.清空日志
DUMP TRANSACTION 庫(kù)名 WITH NO_LOG
2.截?cái)嗍聞?wù)日志
BACKUP LOG 數(shù)據(jù)庫(kù)名 WITH NO_LOG
3.收縮數(shù)據(jù)庫(kù)文件(如果不壓縮,數(shù)據(jù)庫(kù)的文件不會(huì)減小
企業(yè)管理器--右鍵你要壓縮的數(shù)據(jù)庫(kù)--所有任務(wù)--收縮數(shù)據(jù)庫(kù)--收縮文件
--選擇日志文件--在收縮方式里選擇收縮至XXM,這里會(huì)給出一個(gè)允許收縮到的最小M數(shù),直接輸入這個(gè)數(shù),確定就可以了
--選擇數(shù)據(jù)文件--在收縮方式里選擇收縮至XXM,這里會(huì)給出一個(gè)允許收縮到的最小M數(shù),直接輸入這個(gè)數(shù),確定就可以了
也可以用SQL語(yǔ)句來(lái)完成
--收縮數(shù)據(jù)庫(kù)
DBCC SHRINKDATABASE(客戶資料)
--收縮指定數(shù)據(jù)文件,1是文件號(hào),可以通過(guò)這個(gè)語(yǔ)句查詢到:
select * from sysfiles
DBCC SHRINKFILE(1)
4.為了最大化的縮小日志文件(如果是sql 7.0,這步只能在查詢分析器中進(jìn)行)
a.分離數(shù)據(jù)庫(kù):
企業(yè)管理器--服務(wù)器--數(shù)據(jù)庫(kù)--右鍵--分離數(shù)據(jù)庫(kù)
b.在我的電腦中刪除LOG文件
c.附加數(shù)據(jù)庫(kù):
企業(yè)管理器--服務(wù)器--數(shù)據(jù)庫(kù)--右鍵--附加數(shù)據(jù)庫(kù)
此法將生成新的LOG,大小只有500多K
或用代碼:
下面的示例分離 pubs,然后將 pubs 中的一個(gè)文件附加到當(dāng)前服務(wù)器。
a.分離
EXEC sp_detach_db @dbname = 'pubs'
b.刪除日志文件
c.再附加
EXEC sp_attach_single_file_db @dbname = 'pubs',
@physname = 'c:\Program Files\Microsoft
SQL Server\MSSQL\Data\pubs.mdf'
5.為了以后能自動(dòng)收縮,做如下設(shè)置
企業(yè)管理器--服務(wù)器--右鍵數(shù)據(jù)庫(kù)--屬性--選項(xiàng)--選擇“自動(dòng)收縮”
--SQL語(yǔ)句設(shè)置方式:
EXEC sp_dboption '數(shù)據(jù)庫(kù)名', |
6、如果想以后不讓它日志增長(zhǎng)得太大。
企業(yè)管理器--服務(wù)器--右鍵數(shù)據(jù)庫(kù)--屬性--事務(wù)日志
--將文件增長(zhǎng)限制為xM(x是你允許的最大數(shù)據(jù)文件大小)
--SQL語(yǔ)句的設(shè)置方式:
alter database 數(shù)據(jù)庫(kù)名 modify file(name=邏輯文件名,maxsize=20) |
分享:解析提高SQL執(zhí)行效率的幾點(diǎn)建議提高SQL執(zhí)行效率的幾點(diǎn)建議: ◆盡量不要在where中包含子查詢; 關(guān)于時(shí)間的查詢,盡量不要寫(xiě)成:where to_char(dif_date,'yyyy-mm-dd')=to_char('2007-07-01','yyyy-mm-dd'); ◆在過(guò)濾條件中,可以過(guò)濾掉最大數(shù)量記錄的條件必須放在where子句的末尾; FROM子句
- sql 語(yǔ)句練習(xí)與答案
- 深入C++ string.find()函數(shù)的用法總結(jié)
- SQL Server中刪除重復(fù)數(shù)據(jù)的幾個(gè)方法
- sql刪除重復(fù)數(shù)據(jù)的詳細(xì)方法
- SQL SERVER 2000安裝教程圖文詳解
- 使用sql server management studio 2008 無(wú)法查看數(shù)據(jù)庫(kù),提示 無(wú)法為該請(qǐng)求檢索數(shù)據(jù) 錯(cuò)誤916解決方法
- SQLServer日志清空語(yǔ)句(sql2000,sql2005,sql2008)
- Sql Server 2008完全卸載方法(其他版本類似)
- sql server 2008 不允許保存更改,您所做的更改要求刪除并重新創(chuàng)建以下表
- SQL Server 2008 清空刪除日志文件(瞬間日志變幾M)
- Win7系統(tǒng)安裝MySQL5.5.21圖解教程
- 將DataTable作為存儲(chǔ)過(guò)程參數(shù)的用法實(shí)例詳解
Mssql數(shù)據(jù)庫(kù)教程Rss訂閱編程教程搜索
Mssql數(shù)據(jù)庫(kù)教程推薦
- char、varchar、text和nchar、nvarchar、ntext的區(qū)別
- 解析SQL觸發(fā)器在保持?jǐn)?shù)據(jù)庫(kù)完整性中的實(shí)際應(yīng)用
- 客戶端備份與恢復(fù)MSSQL Server數(shù)據(jù)庫(kù)
- 揭秘超全sql語(yǔ)句全集
- 如何從子表里刪除數(shù)據(jù)
- Sql server 2008 express遠(yuǎn)程登錄實(shí)例設(shè)置 圖文教程
- 總結(jié)SQL的存儲(chǔ)過(guò)程
- 巧用一條SQL語(yǔ)句實(shí)現(xiàn)其它進(jìn)制到十進(jìn)制轉(zhuǎn)換
- 同時(shí)安裝vs2005團(tuán)隊(duì)開(kāi)發(fā)版和sql 2005企業(yè)版的方法(downmoon原作)
- 監(jiān)測(cè)你的SQL SERVER--讓瓶頸暴露
猜你也喜歡看這些
- SQL分組排序去重復(fù)的小實(shí)例
- mysql隨機(jī)查詢的優(yōu)化
- 模板無(wú)憂:mysql數(shù)據(jù)庫(kù)優(yōu)化總結(jié)
- 網(wǎng)頁(yè)模板MySQL出現(xiàn)Can't create/write to file 'C:\Windows\TEMP\#sql_990_0.MYI解決辦法
- 使用java處理字符串公式運(yùn)算的方法
- 網(wǎng)站數(shù)據(jù)多了分頁(yè)慢該怎么辦?
- 解決MYSQL出現(xiàn)Can''t create/write to file ''#sql_5c0_0.MYD''的問(wèn)題
- MySQL:數(shù)據(jù)庫(kù)知識(shí)點(diǎn)
- KB967723補(bǔ)丁造成的MYSQL在Win2003上頻繁連接不上
- 如何通過(guò)SQL找出2個(gè)表里值不同的列的方法
- 相關(guān)鏈接:
- 教程說(shuō)明:
Mssql數(shù)據(jù)庫(kù)教程-談SQL Server 壓縮日志及數(shù)據(jù)庫(kù)文件大小
。