SQLSERVER中怎么收縮數(shù)據(jù)庫日志

今天就跟大家聊聊有關(guān)SQL SERVER中怎么收縮數(shù)據(jù)庫日志,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

創(chuàng)新互聯(lián)建站長期為超過千家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為尤溪企業(yè)提供專業(yè)的成都做網(wǎng)站、成都網(wǎng)站建設(shè),尤溪網(wǎng)站改版等技術(shù)服務(wù)。擁有十余年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

Microsoft OLE DB Provider for SQL Server 錯誤 '80040e14'
數(shù)據(jù)庫 'mis1' 的日志已滿。請備份該數(shù)據(jù)庫的事務(wù)日志以釋放一些日志空間。
使用了一個簡單的方法收縮了日志:
1、BACKUP LOG .... WITH NO_LOG
2、收縮數(shù)據(jù)庫
OK,同步重新進行中。。。。
answer:
你查一下數(shù)據(jù)庫的日志模式是不是full?這個模式產(chǎn)生的日志巨大,改成簡單模式就可以了,再把數(shù)據(jù)庫設(shè)為自動收縮。
 SQL SERVER日志清除的兩種方法
在使用過程中大家經(jīng)常碰到數(shù)據(jù)庫日志非常大的情況,在這里介紹了兩種處理方法 ……
  方法一
  一般情況下,SQL數(shù)據(jù)庫的收縮并不能很大程度上減小數(shù)據(jù)庫大小,其主要作用是收縮日志大小,應(yīng)當定期進行此操作以免數(shù)據(jù)庫日志過大
  1、設(shè)置數(shù)據(jù)庫模式為簡單模式:打開SQL企業(yè)管理器,在控制臺根目錄中依次點開Microsoft SQL Server-->SQL Server組-->雙擊打開你的服務(wù)器-->雙擊打開數(shù)據(jù)庫目錄-->選擇你的數(shù)據(jù)庫名稱(如Forum)-->然 后點擊右鍵選擇屬性-->選擇選項-->在故障還原的模式中選擇“簡單”,然后按確定保存。
  2、在當前數(shù)據(jù)庫上點右鍵,看所有任務(wù)中的收縮數(shù)據(jù)庫,一般里面的默認設(shè)置不用調(diào)整,直接點確定。
  3、收縮數(shù)據(jù)庫完成后,建議將您的數(shù)據(jù)庫屬性重新設(shè)置為標準模式,操作方法同第一點,因為日志在一些異常情況下往往是恢復數(shù)據(jù)庫的重要依據(jù)
SQLSERVER中講:
BACKUP LOG 數(shù)據(jù)庫名 WITH NO_LOG|TRUNCATE_ONLY可以截斷事務(wù)日志。
但我在數(shù)據(jù)庫中進行上述操作后,事務(wù)日志還是沒有改變。
第一步只是將非活動的事務(wù)日志截斷,并沒有收縮數(shù)據(jù)庫,只有進行第二項操作后,數(shù)據(jù)庫才進行事務(wù)日志的清理工作,將截斷的非活動事務(wù)刪除,并將事務(wù)日志文件收縮到適當尺寸。
在 使用 SQL Server 時,數(shù)據(jù)庫里的日志文件會越來越大,需要把它刪除。 我先把這個數(shù)據(jù)庫分離,在數(shù)據(jù)庫上點右鍵 -> 所有任務(wù) -> 分離數(shù)據(jù)庫,分離之后,就可以把 Log 文件刪除,同時也可以把數(shù)據(jù)進行備份。之后,就可以在所有任務(wù)里的附加數(shù)據(jù)庫再把那個數(shù)據(jù)庫添進來,SQL Server 會提示 LOG 文件不存在,問你是不是要新建一個,選是就行了,這樣,LOG 文件就清空了。 這個方法只需幾分鐘的時間,但在這幾分鐘里,就不能訪問這個數(shù)據(jù)庫了,我覺得只適用于小型的應(yīng)用,對于大型的系統(tǒng)就要找其它方法了。
 
-壓縮日志及數(shù)據(jù)庫文件大小
/*--特別注意
請按步驟進行,未進行前面的步驟,請不要做后面的步驟
否則可能損壞你的數(shù)據(jù)庫.
--*/
1.清空日志
DUMP TRANSACTION 庫名 WITH NO_LOG
2.截斷事務(wù)日志:
BACKUP LOG 數(shù)據(jù)庫名 WITH NO_LOG
3.收縮數(shù)據(jù)庫文件(如果不壓縮,數(shù)據(jù)庫的文件不會減小
企業(yè)管理器--右鍵你要壓縮的數(shù)據(jù)庫--所有任務(wù)--收縮數(shù)據(jù)庫--收縮文件
--選擇日志文件--在收縮方式里選擇收縮至XXM,這里會給出一個允許收縮到的最小M數(shù),直接輸入這個數(shù),確定就可以了
--選擇數(shù)據(jù)文件--在收縮方式里選擇收縮至XXM,這里會給出一個允許收縮到的最小M數(shù),直接輸入這個數(shù),確定就可以了
也可以用SQL語句來完成
--收縮數(shù)據(jù)庫
DBCC SHRINKDATABASE(客戶資料)

--收縮指定數(shù)據(jù)文件,1是文件號,可以通過這個語句查詢到:select * from sysfiles
DBCC SHRINKFILE(1)
4.為了最大化的縮小日志文件(如果是sql 7.0,這步只能在查詢分析器中進行)
a.分離數(shù)據(jù)庫:
企業(yè)管理器--服務(wù)器--數(shù)據(jù)庫--右鍵--分離數(shù)據(jù)庫
b.在我的電腦中刪除LOG文件
c.附加數(shù)據(jù)庫:
企業(yè)管理器--服務(wù)器--數(shù)據(jù)庫--右鍵--附加數(shù)據(jù)庫
此法將生成新的LOG,大小只有500多K
或用代碼:
下面的示例分離 pubs,然后將 pubs 中的一個文件附加到當前服務(wù)器。

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.為了以后能自動收縮,做如下設(shè)置:
企業(yè)管理器--服務(wù)器--右鍵數(shù)據(jù)庫--屬性--選項--選擇"自動收縮"

--SQL語句設(shè)置方式:
EXEC sp_dboption '數(shù)據(jù)庫名', 'autoshrink', 'TRUE'
6.如果想以后不讓它日志增長得太大
企業(yè)管理器--服務(wù)器--右鍵數(shù)據(jù)庫--屬性--事務(wù)日志
--將文件增長限制為xM(x是你允許的最大數(shù)據(jù)文件大小)
--SQL語句的設(shè)置方式:
alter database 數(shù)據(jù)庫名 modify file(name=邏輯文件名,maxsize=20)

看完上述內(nèi)容,你們對SQL SERVER中怎么收縮數(shù)據(jù)庫日志有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

網(wǎng)站題目:SQLSERVER中怎么收縮數(shù)據(jù)庫日志
轉(zhuǎn)載來于:http://muchs.cn/article34/isjhse.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、網(wǎng)站內(nèi)鏈、定制開發(fā)小程序開發(fā)、品牌網(wǎng)站建設(shè)、ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護公司