程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> MSSQL >> SQL數據庫日記已滿處理辦法

SQL數據庫日記已滿處理辦法

編輯:MSSQL

SQL數據庫日記已滿處理辦法。本站提示廣大學習愛好者:(SQL數據庫日記已滿處理辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是SQL數據庫日記已滿處理辦法正文


以後的處理辦法是:把硬盤上的其他文件刪除,以空出硬盤空間,將數據庫的日記文件年夜小改成無窮制,然後分別數據庫,要確保分別勝利,、然後把數據庫日記文件刪除(最好是先更名,以防萬一)。再附加數據庫,如許會重建日記文件。

加歸去以後,將數據庫改成主動壓縮,把日記文件改成按mb增加,增加最年夜設為一個固定的值,值的年夜小視數據處置情形,存在年夜指的update操作的話,應設為年夜一點。

在查詢剖析器上操作:
清空日記
DUMP TRANSACTION 庫名 WITH NO_LOG
截斷事務日記:
BACKUP LOG 數據庫名 WITH NO_LOG

處理SQL數據庫日記已滿的成績
1、右鍵數據庫→屬性→選項→毛病復原模子→設為簡略→肯定;
2、右鍵數據庫→一切義務→壓縮數據庫→肯定;
3、右鍵數據庫→屬性→選項→毛病復原模子→設為年夜容量日記記載→肯定。

2、龐雜辦法
1、清空日記
DUMP TRANSACTION 庫名 WITH NO_LOG
2、截斷事務日記
BACKUP LOG 數據庫名 WITH NO_LOG
3、壓縮數據庫文件(假如不緊縮,數據庫的文件不會減小)
企業治理器--右鍵你要緊縮的數據庫--一切義務--壓縮數據庫--壓縮文件
--選擇日記文件--在壓縮方法裡選擇壓縮至XXM,這裡會給出一個許可壓縮到的最小M數,直接輸出這個數,肯定便可以了。
--選擇數據文件--在壓縮方法裡選擇壓縮至XXM,這裡會給出一個許可壓縮到的最小M數,直接輸出這個數,肯定便可以了
也能夠用SQL語句來完成
--壓縮數據庫
DBCC SHRINKDATABASE(客戶材料)
--壓縮指定命據文件,1是文件號,可以經由過程這個語句查詢到:select * from sysfiles DBCC SHRINKFILE(1)
4、為了最年夜化的減少日記文件(假如是sql 7.0,這步只能在查詢剖析器中停止)
a.分別數據庫
企業治理器--辦事器--數據庫--右鍵--分別數據庫
b.在我的電腦中刪除LOG文件
c.附加數據庫
企業治理器--辦事器--數據庫--右鍵--附加數據庫
此法將生成新的LOG,年夜小只要500多K
或用代碼:
上面的示例分別 pubs,然後將 pubs 中的一個文件附加到以後辦事器。
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、為了今後能主動壓縮,做以下設置
企業治理器--辦事器--右鍵數據庫--屬性--選項--選擇"主動壓縮"
--SQL語句設置方法:
EXEC sp_dboption '數據庫名', 'autoshrink', 'TRUE'
6、假如想今後不讓它日記增加得太年夜
企業治理器--辦事器--右鍵數據庫--屬性--事務日記
--將文件增加限制為xM(x是你許可的最年夜數據文件年夜小)
--SQL語句的設置方法:
alter database 數據庫名 modify file(name=邏輯文件名,maxsize=20)

特殊留意:
請按步調停止,未停止後面的步調,請不要做前面的步調,不然能夠破壞你的數據庫。
普通不建議做第4、6兩步,第4步不平安,有能夠破壞數據庫或喪失數據,第6步假如日記到達下限,則今後的數據庫處置會掉敗,在清算日記後能力恢復。
  日記文件滿而形成SQL數據庫沒法寫入文件時,可用兩種辦法:
  一種辦法:清空日記。
  1.翻開查詢剖析器,輸出敕令
DUMP TRANSACTION 數據庫名 WITH NO_LOG
  2.再翻開企業治理器--右鍵你要緊縮的數據庫--一切義務--壓縮數據庫--壓縮文件--選擇日記文件--在壓縮方法裡選擇壓縮至XXM,這裡會給出一個許可壓縮到的最小M數,直接輸出這個數,肯定便可以了。
  另外一種辦法有必定的風險性,由於SQL SERVER的日記文件不是即時寫入數據庫主文件的,如處置欠妥,會形成數據的喪失。
  1: 刪除LOG
  分別數據庫 企業治理器->辦事器->數據庫->右鍵->分別數據庫
  2:刪除LOG文件
  附加數據庫 企業治理器->辦事器->數據庫->右鍵->附加數據庫
  此法生成新的LOG,年夜小只要500多K。
  留意:建議應用第一種辦法。
  假如今後,不想要它變年夜。
  SQL2000下應用:
  在數據庫上點右鍵->屬性->選項->毛病恢復-模子-選擇-簡略模子。
  或用SQL語句:
alter database 數據庫名 set recovery simple
  別的,Truncate log on checkpoint(此選項用於SQL7.0,SQL 2000中即毛病恢復模子選擇為簡略模子)當履行CHECKPOINT 敕令時假如事務日記文件跨越其年夜小的70%
則將其內容消除在開辟數據庫不時常將此選項設置為True Auto shrink按期對數據庫停止檢討當數據庫文件或日記文件的未用空間跨越其年夜小的25%時,體系將會主動縮減文件使其未用空間等於25%
當文件年夜小沒有跨越其樹立時的初始年夜小時不會縮減文件縮減後的文件也必需年夜於或等於其初始年夜小對事務日記文件的縮減只要在對其作備份時或將Truncate
log on checkpoint 選項設為True 時能力停止。
  留意:普通立成樹立的數據庫默許屬性已設好,但碰著不測情形使數據庫屬性被更改,請用戶清空日記後,檢討數據庫的以上屬性,以防事務日記再次充斥。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved