久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

SQL數據庫日志已滿解決方法

136次閱讀
沒有評論

共計 2360 個字符,預計需要花費 6 分鐘才能閱讀完成。

這篇文章將為大家詳細講解有關 SQL 數據庫日志已滿解決方法,文章內容質量較高,因此丸趣 TV 小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

當前的解決方法是:把硬盤上的其他文件刪除,以空出硬盤空間,將數據庫的日志文件大小改成無限制,然后分離數據庫,要確保分離成功,、然后把數據庫日志文件刪除(最好是先改名,以防萬一)。再附加數據庫,這樣會重建日志文件。加回去之后,將數據庫改成自動收縮,把日志文件改成按 mb 增長,增長最大設為一個固定的值,值的大小看數據處理情況,存在大指的 update 操作的話,應設為大一點。 

在查詢分析器上操作: 

清空日志 DUMP TRANSACTION 庫名 WITH NO_LOG 截斷事務日志:BACKUP LOG 數據庫名 WITH NO_LOG 解決 SQL 數據庫日志已滿的問題  

1、右鍵數據庫→屬性→選項→故障還原模型→設為簡單→確定; 

2、右鍵數據庫→所有任務→收縮數據庫→確定; 

3、右鍵數據庫→屬性→選項→故障還原模型→設為大容量日志記錄→確定。 

二、復雜方法  

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 時才能進行。

注意:一般立成建立的數據庫默認屬性已設好,但碰到意外情況使數據庫屬性被更改,請用戶清空日志后,檢查數據庫的以上屬性,以防事務日志再次充滿。

關于 SQL 數據庫日志已滿解決方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-28發表,共計2360字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 二连浩特市| 怀安县| 沁水县| 光山县| 新泰市| 始兴县| 大名县| 寿光市| 塔河县| 铜梁县| 中江县| 大姚县| 卓尼县| 陆良县| 方城县| 秭归县| 抚顺市| 峨山| 盐源县| 亳州市| 巴塘县| 宿迁市| 三原县| 绍兴县| 曲松县| 井冈山市| 伊通| 义乌市| 郓城县| 眉山市| 山西省| 旌德县| 广德县| 沂南县| 通州市| 定南县| 泰州市| 朔州市| 客服| 赤峰市| 孝义市|