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