刪除sqlserver數(shù)據(jù)庫日志和沒有日志的數(shù)據(jù)庫恢復辦法
來源:易賢網 閱讀:3695 次 日期:2014-06-27 20:12:04
溫馨提示:易賢網小編為您整理了“刪除sqlserver數(shù)據(jù)庫日志和沒有日志的數(shù)據(jù)庫恢復辦法”,方便廣大網友查閱!

這篇文章主要介紹了刪除sqlserver數(shù)據(jù)庫日志和沒有日志的數(shù)據(jù)庫恢復辦法,需要的朋友可以參考下。

一、刪除數(shù)據(jù)庫日志文件的方法

你曾經有在執(zhí)行SQL的時候,數(shù)據(jù)庫報事務日志已滿,然后執(zhí)行報錯。然后糾結于怎么刪除數(shù)據(jù)庫日志,搗鼓半天嗎,現(xiàn)在就提供兩種刪除日志文件的方法,希望能夠幫到你!

方法一:手工操作

1.數(shù)據(jù)庫->右鍵->屬性->選項-恢復模式->由完成切換成簡單

2.數(shù)據(jù)庫->右鍵->任務->收縮-文件->由完成切換成簡單->文件類型->日志->將文件收縮到

1

2

3

4

方法二:存儲過程代替手工操作

代碼如下:

--日志文件收縮至多少M

DECLARE@DBLogSiseASINT

SET@DBLogSise=0

--查詢出數(shù)據(jù)庫對應的日志文件名稱

DECLARE@strDBNameASNVARCHAR(500)DECLARE@strLogNameASNVARCHAR(500)DECLARE@strSQLASVARCHAR(1000)

SELECT

@strLogName=B.name,@strDBName=A.nameFROMmaster.sys.databasesASAINNERJOINsys.master_filesASBONA.database_id=B.database_idWHEREA.database_id=DB_ID()

SET@strSQL='

--設置數(shù)據(jù)庫恢復模式為簡單

ALTERDATABASE['+@strDBName+']SETRECOVERYSIMPLE;

--收縮日志文件

DBCCSHRINKFILE('''+@strLogName+''','+CONVERT(VARCHAR(20),@DBLogSise)+');

--恢復數(shù)據(jù)庫還原模式為完整

ALTERDATABASE['+@strDBName+']SETRECOVERYFULL'

exec(@strSQL)

1.在數(shù)據(jù)庫中執(zhí)行上面的存儲過程

2.然后再執(zhí)行EXECdbo.usp_p_delDBLog@DBLogSise=0(收縮至多少M)

二、沒有日志文件的數(shù)據(jù)庫恢復方法

今天客戶那邊執(zhí)行SQL報錯,經查看是客戶服務器數(shù)據(jù)庫磁盤已被全部用完,日志文件達到500GB的程度,后來由于我的錯誤操作導致日志文件(.ldf)被刪除,后來附加.mdf文件老是說沒有日志文件附加不成功,后來經過一番折騰終于解決了,下面分享一下!

操作步驟

1.新建同名的數(shù)據(jù)庫文件

2.暫停SQLSetver服務

3.將原先的mdf文件,覆蓋新建的數(shù)據(jù)庫,刪除新數(shù)據(jù)庫的ldf文件

4.重新啟動SQLSetver服務,這時看到的數(shù)據(jù)庫是這個樣子的,打不開

5

5.執(zhí)行以下SQL語句

代碼如下:

--1.設置為緊急狀態(tài)

alterdatabase數(shù)據(jù)庫名稱setemergency

--2.設置為單用戶模式

alterdatabase數(shù)據(jù)庫名稱setsingle_user

--3.檢查并重建日志文件

dbcccheckdb('數(shù)據(jù)庫名稱',REPAIR_ALLOW_DATA_LOSS)

--4.第3步操作如果有錯誤提示,運行第4步,沒有錯誤則跳過

dbcccheckdb('數(shù)據(jù)庫名稱',REPAIR_REBUILD)

--5.恢復成多用戶模式

alterdatabase數(shù)據(jù)庫名稱setmulti_user

6.至此會重新生成改庫的日志文件,整個過程完成或者也可以采用手動附加

6

更多信息請查看IT技術專欄

更多信息請查看數(shù)據(jù)庫

2026國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯(lián)系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網