日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

数据库瘦身

發(fā)布時間:2023/12/3 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据库瘦身 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

壓縮日志及數(shù)據(jù)庫文件大小 ??

? ??

? /*--特別注意 ??

? ??

? 請按步驟進(jìn)行,未進(jìn)行前面的步驟,請不要做后面的步驟 ??

? 否則可能損壞你的數(shù)據(jù)庫. ??

? ??

? ??

? 一般不建議做第4,6兩步 ??

? 第4步不安全,有可能損壞數(shù)據(jù)庫或丟失數(shù)據(jù) ??

? 第6步如果日志達(dá)到上限,則以后的數(shù)據(jù)庫處理會失敗,在清理日志后才能恢復(fù). ??

? --*/ ??

? ??

? --下面的所有庫名都指你要處理的數(shù)據(jù)庫的庫名 ??

? ??

? 1.清空日志 ??

? DUMP ? ? TRANSACTION ? ? 庫名 ? ? WITH ? ? NO_LOG ? ? ? ? ??

? ??

? 2.截斷事務(wù)日志: ??

? BACKUP ? LOG ? 庫名 ? WITH ? NO_LOG ??

? ??

? 3.收縮數(shù)據(jù)庫文件(如果不壓縮,數(shù)據(jù)庫的文件不會減小 ??

? 企業(yè)管理器--右鍵你要壓縮的數(shù)據(jù)庫--所有任務(wù)--收縮數(shù)據(jù)庫--收縮文件 ??

? --選擇日志文件--在收縮方式里選擇收縮至XXM,這里會給出一個允許收縮到的最小M數(shù),直接輸入這個數(shù),確定就可以了 ??

? --選擇數(shù)據(jù)文件--在收縮方式里選擇收縮至XXM,這里會給出一個允許收縮到的最小M數(shù),直接輸入這個數(shù),確定就可以了 ??

? ??

? 也可以用SQL語句來完成 ??

? --收縮數(shù)據(jù)庫 ??

? DBCC ? SHRINKDATABASE(庫名) ??

? ??

? --收縮指定數(shù)據(jù)文件,1是文件號,可以通過這個語句查詢到:select ? * ? from ? sysfiles ??

? DBCC ? SHRINKFILE(1) ??

? ??

? 4.為了最大化的縮小日志文件(如果是sql ? 7.0,這步只能在查詢分析器中進(jìn)行) ??

? a.分離數(shù)據(jù)庫: ??

? 企業(yè)管理器--服務(wù)器--數(shù)據(jù)庫--右鍵--分離數(shù)據(jù)庫 ??

? ??

? b.在我的電腦中刪除LOG文件 ??

? ??

? c.附加數(shù)據(jù)庫: ??

? 企業(yè)管理器--服務(wù)器--數(shù)據(jù)庫--右鍵--附加數(shù)據(jù)庫 ??

? ??

? 此法將生成新的LOG,大小只有500多K ??

? ??

? 或用代碼: ? ??

? 下面的示例分離 ? pubs,然后將 ? pubs ? 中的一個文件附加到當(dāng)前服務(wù)器。 ??

? ??

? a.分離 ??

? EXEC ? sp_detach_db ? @dbname ? = ? '庫名' ??

? ??

? b.刪除日志文件 ??

? ??

? c.再附加 ??

? EXEC ? sp_attach_single_file_db ? @dbname ? = ? '庫名', ? ??

? ? ? ? @physname ? = ? 'c:\Program ? Files\Microsoft ? SQL ? Server\MSSQL\Data\庫名.mdf' ??

? ??

? 5.為了以后能自動收縮,做如下設(shè)置: ??

? 企業(yè)管理器--服務(wù)器--右鍵數(shù)據(jù)庫--屬性--選項--選擇"自動收縮" ??

? ??

? --SQL語句設(shè)置方式: ??

? EXEC ? sp_dboption ? '庫名', ? 'autoshrink', ? 'TRUE' ??

? ??

? 6.如果想以后不讓它日志增長得太大 ??

? 企業(yè)管理器--服務(wù)器--右鍵數(shù)據(jù)庫--屬性--事務(wù)日志 ??

? --將文件增長限制為xM(x是你允許的最大數(shù)據(jù)文件大小) ??

? ??

? --SQL語句的設(shè)置方式: ??

? alter ? database ? 庫名 ? modify ? file(name=邏輯文件名,maxsize=20) ??

? ---------------------------------------------------------------------

SQL Server 控制Ldf文件的大小(清理歷史記錄 &設(shè)定自動縮小)?

?

*清理歷史記錄?

1. 在SQL Server Enterprice Manager(企業(yè)管理器)工具列---進(jìn)入 SQL Query Analyzer(SQL查詢分析器)?

2. 輸入BACKUP LOG <你的數(shù)據(jù)庫名稱> WITH TRUNCATE_ONLY?

如: BACKUP LOG myXXDB WITH TRUNCATE_ONLY?

?

2. 回SQL Server Enterprice Manager, 在該數(shù)據(jù)庫上按右鍵選[所有工作/壓縮數(shù)據(jù)庫],?

點(diǎn)[文件], 在數(shù)據(jù)庫文件選擇該 Log文件, 在[壓縮動作]選擇[將文件壓縮為X MB (最小值為Y MB)],?

直接將x改成其建議其最小值y按[確定]即可壓縮.?

先不要離開,再點(diǎn)一次[文件]看看壓了多少, 會發(fā)現(xiàn)還可以再壓, 還會變更小喲! 可以壓兩三次.?

?

總結(jié):其實也就是兩個指令就可以完成了?

BACKUP LOG DateBaseName WITH TRUNCATE_ONLY?

DBCC ShrinkDatabase(DateBaseName)?

?

*設(shè)定數(shù)據(jù)庫自動縮小, 默認(rèn)值為OFF?

方法1.?

ALTER DATABASE <你的數(shù)據(jù)庫名稱> SET AUTO_SHRINK ON?

如: ALTER DATABASE myXXDB SET AUTO_SHRINK ON?

方法2.?

在數(shù)據(jù)庫上按右鍵選內(nèi)容(要等一下下), 點(diǎn)[選項]頁, 勾選[自動壓縮]后按確定?

?

?

 SQL SERVER日志清除的兩種方法?

  在使用過程中大家經(jīng)常碰到數(shù)據(jù)庫日志非常大的情況,在這里介紹了兩種處理方法……?

?

  方法一?

?

  一般情況下,SQL數(shù)據(jù)庫的收縮并不能很大程度上減小數(shù)據(jù)庫大小,其主要作用是收縮日志大小,應(yīng)當(dāng)定期進(jìn)行此操作以免數(shù)據(jù)庫日志過大?

?

  1、設(shè)置數(shù)據(jù)庫模式為簡單模式:打開SQL企業(yè)管理器,在控制臺根目錄中依次點(diǎn)開Microsoft SQL Server-->SQL Server組-->雙擊打開你的服務(wù)器-->雙擊打開數(shù)據(jù)庫目錄-->選擇你的數(shù)據(jù)庫名稱(如論壇數(shù)據(jù)庫Forum)-->然后點(diǎn)擊右鍵選擇屬性-->選擇選項-->在故障還原的模式中選擇“簡單”,然后按確定保存。?

?

  2、在當(dāng)前數(shù)據(jù)庫上點(diǎn)右鍵,看所有任務(wù)中的收縮數(shù)據(jù)庫,一般里面的默認(rèn)設(shè)置不用調(diào)整,直接點(diǎn)確定。?

?

  3、收縮數(shù)據(jù)庫完成后,建議將您的數(shù)據(jù)庫屬性重新設(shè)置為標(biāo)準(zhǔn)模式,操作方法同第一點(diǎn),因為日志在一些異常情況下往往是恢復(fù)數(shù)據(jù)庫的重要依據(jù)?

?

?

?

?

SQLSERVER中講:?

?

BACKUP LOG 數(shù)據(jù)庫名 WITH NO_LOG|TRUNCATE_ONLY可以截斷事務(wù)日志。?

?

但我在數(shù)據(jù)庫中進(jìn)行上述操作后,事務(wù)日志還是沒有改變。?

?

?

第一步只是將非活動的事務(wù)日志截斷,并沒有收縮數(shù)據(jù)庫,只有進(jìn)行第二項操作后,數(shù)據(jù)庫才進(jìn)行事務(wù)日志的清理工作,將截斷的非活動事務(wù)刪除,并將事務(wù)日志文件收縮到適當(dāng)尺寸。?

在使用 SQL Server 時,數(shù)據(jù)庫里的日志文件會越來越大,需要把它刪除。 我先把這個數(shù)據(jù)庫分離,在數(shù)據(jù)庫上點(diǎn)右鍵 -> 所有任務(wù) -> 分離數(shù)據(jù)庫,分離之后,就可以把 Log 文件刪除,同時也可以把數(shù)據(jù)進(jìn)行備份。之后,就可以在所有任務(wù)里的附加數(shù)據(jù)庫再把那個數(shù)據(jù)庫添進(jìn)來,SQL Server 會提示 LOG 文件不存在,問你是不是要新建一個,選是就行了,這樣,LOG 文件就清空了。 這個方法只需幾分鐘的時間,但在這幾分鐘里,就不能訪問這個數(shù)據(jù)庫了,我覺得只適用于小型的應(yīng)用,對于大型的系統(tǒng)就要找其它方法了。?

?

?

老馬嗖嗖 2007-04-30 13:03?

SQL Server 2000中*.LDF文件是什么作用

?

*.mdf是數(shù)據(jù)文件 ??

*.ldf是日志文件 ??

當(dāng)數(shù)據(jù)庫出現(xiàn)問題時 ??

可用以下語句恢復(fù) ??

數(shù)據(jù)恢復(fù)一 ??

1. 先分離數(shù)據(jù)庫 ??

exec ? sp_detach_db ? dbname ??

2. 加上數(shù)據(jù)庫 ??

exec ? sp_attach_db ? @dbname=’dbname’,@filename1=’d:\sql ? server\...\dbname.mdf’,@filename2=’d;\sql ? server\...\dbname_log.ldf’ ??

?

?

老馬嗖嗖 2007-04-30 13:04?

/*--特別注意?

?

請按步驟進(jìn)行,未進(jìn)行前面的步驟,請不要做后面的步驟?

否則可能損壞你的數(shù)據(jù)庫.?

--*/?

?

1.清空日志?

DUMP TRANSACTION 庫名 WITH NO_LOG?

?

2.截斷事務(wù)日志:?

BACKUP LOG 數(shù)據(jù)庫名 WITH NO_LOG?

?

3.收縮數(shù)據(jù)庫文件(如果不壓縮,數(shù)據(jù)庫的文件不會減小?

企業(yè)管理器--右鍵你要壓縮的數(shù)據(jù)庫--所有任務(wù)--收縮數(shù)據(jù)庫--收縮文件?

--選擇日志文件--在收縮方式里選擇收縮至XXM,這里會給出一個允許收縮到的最小M數(shù),直接輸入這個數(shù),確定就可以了?

--選擇數(shù)據(jù)文件--在收縮方式里選擇收縮至XXM,這里會給出一個允許收縮到的最小M數(shù),直接輸入這個數(shù),確定就可以了?

?

也可以用SQL語句來完成?

--收縮數(shù)據(jù)庫?

DBCC SHRINKDATABASE(客戶資料)?

?

--收縮指定數(shù)據(jù)文件,1是文件號,可以通過這個語句查詢到:select * from sysfiles?

DBCC SHRINKFILE(1)?

?

4.為了最大化的縮小日志文件(如果是sql 7.0,這步只能在查詢分析器中進(jìn)行)?

a.分離數(shù)據(jù)庫:?

企業(yè)管理器--服務(wù)器--數(shù)據(jù)庫--右鍵--分離數(shù)據(jù)庫?

?

b.在我的電腦中刪除LOG文件?

?

c.附加數(shù)據(jù)庫:?

企業(yè)管理器--服務(wù)器--數(shù)據(jù)庫--右鍵--附加數(shù)據(jù)庫?

?

此法將生成新的LOG,大小只有500多K?

?

或用代碼:?

下面的示例分離 pubs,然后將 pubs 中的一個文件附加到當(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.為了以后能自動收縮,做如下設(shè)置:?

企業(yè)管理器--服務(wù)器--右鍵數(shù)據(jù)庫--屬性--選項--選擇"自動收縮"?

?

--SQL語句設(shè)置方式:?

EXEC sp_dboption '數(shù)據(jù)庫名', 'autoshrink', 'TRUE'?

?

6.如果想以后不讓它日志增長得太大?

企業(yè)管理器--服務(wù)器--右鍵數(shù)據(jù)庫--屬性--事務(wù)日志?

--將文件增長限制為xM(x是你允許的最大數(shù)據(jù)文件大小)?

?

--SQL語句的設(shè)置方式:?

alter database 數(shù)據(jù)庫名 modify file(name=邏輯文件名,maxsize=20)?

?

總結(jié)

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

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