怎么清空sqlserver的日志文件 如何備份sql server 2008日志文件?
如何備份sql server 2008日志文件?在SQL Server7.0和SQL Server2000中,這個(gè)可以用下面的命令打開(kāi)系統(tǒng):DBCClog({dbid|dbname},[,type{0
如何備份sql server 2008日志文件?
在SQL Server7.0和SQL Server2000中,這個(gè)可以用下面的命令打開(kāi)系統(tǒng):
DBCClog({dbid|dbname},[,type{0|1|2|3|4}])
參數(shù):
Dbid同問(wèn)dbname-任一數(shù)據(jù)庫(kù)的ID或名字
type-輸出結(jié)果的類(lèi)型:
0-最少信息(operation,context,transactionid)
1-更多信息(pro3flags,tags,rowlength)
2-的很詳細(xì)點(diǎn)的信息(procontextname,indexname,pageid,slotid)
3-每種不能操作的全部信息
4-每種你的操作的全部信息算上該事務(wù)的16進(jìn)制信息
默認(rèn)type0
要查看MSATER數(shù)據(jù)庫(kù)的事務(wù)日志是可以用以上命令:
DBCClog(master)
釋放日志空間
1.清空日志
DUMPTRANSACTION庫(kù)名WITHoh,no_LOG
2.截住事務(wù)日志:
BACKUP LOG數(shù)據(jù)庫(kù)名WITHno,no_LOG
3.向內(nèi)收縮數(shù)據(jù)庫(kù)文件(如果不高壓縮,數(shù)據(jù)庫(kù)的文件肯定不會(huì)越小
企業(yè)管理器--右鍵你要壓縮后的數(shù)據(jù)庫(kù)--所有任務(wù)--急劇收縮數(shù)據(jù)庫(kù)--向內(nèi)收縮文件
--選擇日志文件--在收縮里你選擇急劇收縮至XXM,這里會(huì)能提供一個(gè)不能向內(nèi)收縮到的小于M數(shù),真接鍵入這個(gè)數(shù),可以確定就可以了
--選擇數(shù)據(jù)文件--在收縮里你選收縮至XXM,這里會(huì)決定一個(gè)不能急劇收縮到的小于M數(shù),直接再輸入這個(gè)數(shù),考慮就可以了
也這個(gè)可以用SQL語(yǔ)句來(lái)完成
--向內(nèi)收縮數(shù)據(jù)庫(kù)
DBCCSHRINKDATABASE(客戶資料)
--快速收縮重新指定數(shù)據(jù)文件,1是文件號(hào),可以按照這個(gè)語(yǔ)句去查詢到:select*acrosssysfiles
DBCC SHRINKFILE(1)
4.是為選擇最大化的縮小日志文件(假如是sql7.0,這步只有在網(wǎng)上查詢講器中接受)
a.只是分離數(shù)據(jù)庫(kù):
企業(yè)管理器--服務(wù)器--數(shù)據(jù)庫(kù)--右鍵--分離出來(lái)數(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.只是分離
b.徹底刪除日志文件
c.再疊加
,
@physnamec:ProgramFilesMicrosoftSQL
5.目的是以后能手動(dòng)收縮,做追加設(shè)置:
企業(yè)管理器--服務(wù)器--右鍵數(shù)據(jù)庫(kù)--屬性--選項(xiàng)--選擇
SQL Server事務(wù)日志的幾個(gè)常用操作?
我們知道,SQL Server事務(wù)日志通常是單獨(dú)記錄所有事務(wù)對(duì)數(shù)據(jù)庫(kù)所做的修改,要是系統(tǒng)再次出現(xiàn)故障,它將藍(lán)月帝國(guó)最新數(shù)據(jù)的僅有來(lái)源。日志的操作常有200以內(nèi)幾個(gè)應(yīng)用:
一、事務(wù)日志文件LDF的全部丟失
當(dāng)我們不小徹底刪除或者LDF文件丟失的時(shí)候,數(shù)據(jù)庫(kù)只只剩下MDF文件,此時(shí)直接附帶MDF是根本無(wú)法恢復(fù)數(shù)據(jù)庫(kù)的,那我們好不好才能完全恢復(fù)數(shù)據(jù)庫(kù)呢?我們是可以把SQL Server的日志文件分為兩種形式:一類(lèi)是無(wú)活動(dòng)事務(wù)的日志,另一類(lèi)是有活動(dòng)事務(wù)的日志,我們?nèi)齻€(gè)據(jù)兩種情況來(lái)通過(guò)數(shù)據(jù)庫(kù)恢復(fù)。
1、無(wú)活動(dòng)事務(wù)的日志復(fù)原
當(dāng)文件并沒(méi)有突然發(fā)生活動(dòng)性的日志,我們就可以不會(huì)容易的借用MDF文件就是可以然后重新恢復(fù)數(shù)據(jù)庫(kù)了,具體操作方法追加:
1)數(shù)據(jù)庫(kù)要不然沒(méi)有日志,都會(huì)處在不容質(zhì)疑的狀態(tài),我們先是可以企業(yè)管理器中在對(duì)應(yīng)數(shù)據(jù)庫(kù)中再點(diǎn)擊右鍵,然后再在“所有任務(wù)”下中,選擇“分離數(shù)據(jù)庫(kù)”把數(shù)據(jù)庫(kù)并且只是分離
2)用來(lái)MDF文件疊加數(shù)據(jù)庫(kù)生成沉淀新的日志文件,后用企業(yè)管理器中數(shù)據(jù)庫(kù)點(diǎn)擊右鍵選擇“所有任務(wù)”下的“額外數(shù)據(jù)庫(kù)”把數(shù)據(jù)庫(kù)附加上。
這樣的就可以不直接可以恢復(fù)好數(shù)據(jù)庫(kù)了,而要是數(shù)據(jù)庫(kù)的日志文件中多含活動(dòng)事務(wù),利用此方法就不能可以恢復(fù)數(shù)據(jù)庫(kù),所以我得使用下面的方法。
2、有活動(dòng)事務(wù)的日志復(fù)原
當(dāng)日志不可能發(fā)生了事務(wù)的記錄,全部丟失的時(shí)候,我們采用追加的方法來(lái)實(shí)現(xiàn)方法:
1)空白文檔一個(gè)同名的數(shù)據(jù)庫(kù),如原數(shù)據(jù)庫(kù)名為MYDB,然后開(kāi)始SQL Server服務(wù)器,再把數(shù)據(jù)庫(kù)主數(shù)據(jù)MDF文件移走,然后把重起SQL Server服務(wù)器,新建一個(gè)同名作品的數(shù)據(jù)庫(kù)MYDB,接著再開(kāi)始SQL Server服務(wù)器,把移走的MDF文件再遍布出去,然后再重啟動(dòng)SQL Server服務(wù)器,在系統(tǒng)默認(rèn)的情況下,系統(tǒng)表是不不能被直接修改的,我們需要啟動(dòng)以下語(yǔ)句才這個(gè)可以,在可以查詢講器中,你選擇Master數(shù)據(jù)庫(kù),然后把不能執(zhí)行:
Sp_configureallowupdates,1
Reconfigure With Override
隨即正常運(yùn)行100元以內(nèi)語(yǔ)句,把Sysdatabases表中MYDB數(shù)據(jù)庫(kù)的status屬性設(shè)為‘37268',把MYDB數(shù)據(jù)庫(kù)設(shè)置為及時(shí)模式。
setupsysdatabasessetstatus32768wherename'MYDB'
后再再把數(shù)據(jù)庫(kù)MYDB可以設(shè)置為單用戶模式,然后再重新啟動(dòng)SQL Server服務(wù)器,并把數(shù)據(jù)庫(kù)MYDB設(shè)為單用戶模式
Sp_dboptionMYDB,singleuser,true