主頁 > 知識庫 > SQL SERVER 2008數(shù)據(jù)庫日志文件收縮的方法

SQL SERVER 2008數(shù)據(jù)庫日志文件收縮的方法

熱門標(biāo)簽:高德地圖標(biāo)注生成 南京外呼系統(tǒng)租用 濟(jì)南電銷外呼防封卡怎么樣 電銷外呼系統(tǒng)違規(guī) 400電話怎么申請收費標(biāo)準(zhǔn) 怎樣在地圖標(biāo)注自己的信息 400電話辦理2273649Z空間 寧夏外呼系統(tǒng)方案 智能語音外呼系統(tǒng)打電話

最近公司的數(shù)據(jù)庫隨著業(yè)務(wù)量的增多,日志文件巨大(超過300G),造成磁盤空間不夠用,進(jìn)而后來的訪問數(shù)據(jù)庫請求無法訪問。

網(wǎng)上類似的方法也很多,但不可行,如下是我實踐過,可行的,將日志文件收縮至任意指定大小的方法:

第一步: 在SQL SERVER Management Studio 中右擊數(shù)據(jù)庫選擇“屬性”---》“選項”,將恢復(fù)模式由默認(rèn)的“完整”改為“簡單”。

第二步:再次右鍵選擇數(shù)據(jù)庫的“任務(wù)”--》“收縮”---》“文件”菜單,進(jìn)入收縮文件頁面,將(要收縮的)文件類型選定為“日志”, 將頁面下面的“收縮操作”單選框里選擇“在釋放未使用的空間前重新組織頁,將文件收縮到:”,然后填寫合適的收縮后的日志文件大小。

最后點擊這個頁面下面的“確定”按鈕,以執(zhí)行收縮文件(日志)操作。

執(zhí)行完畢后,用戶可以查到到的確該日志文件收縮到指定的大小了。

將文件收縮到 0 即可。瞬間就ok了,比用命令快多了,對于36g的日志也很快。

第三步:在SQL SERVER Management Studio 中右擊數(shù)據(jù)庫選擇“屬性”---》“選項”,將恢復(fù)模式由默認(rèn)的“簡單”改為“完整”。

下面是最常用的方法一

USE [master]
GO
ALTER DATABASE 庫名 SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE 庫名 SET RECOVERY SIMPLE --簡單模式
GO
USE 庫名
GO
DBCC SHRINKFILE (N'庫名_log' , 11, TRUNCATEONLY)
GO

--這里的DNName_Log 如果不知道在sys.database_files里是什么名字的話,可以用以下注釋的語句進(jìn)行查詢
--USE 庫名
--GO
--SELECT file_id,name FROM sys.database_files;
--GO

USE [master]
GO
ALTER DATABASE SCDMS SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE SCDMS SET RECOVERY FULL --還原為完全模式
GO

一般來說上面的sql對于日志2個G內(nèi)速度還可以,如果不行請參考下面的步驟

1:然后在網(wǎng)上查找命令,找到日志文件類型為 REPLICATION 即發(fā)布狀態(tài)

2:又查找到執(zhí)行命令 ,該命令顯示很多status為2的日志,即沒有提交的。

DBCC LOGINFO('數(shù)據(jù)庫名稱')

3:直接選擇我之前創(chuàng)建的發(fā)布,提示以下錯誤:

sqlserver無法作為數(shù)據(jù)庫主體執(zhí)行,因為主體 "dbo" 不存在...
查找到以下命令,為用戶添加數(shù)據(jù)庫角色時提示已經(jīng)存在此帳號請查看數(shù)據(jù)庫下是否已經(jīng)存在該帳號并刪除重新授權(quán)

USE 庫名
EXEC sp_changedbowner 'sa'

4:然后再刪除發(fā)布和訂閱即成功。最后再執(zhí)行第一步的SQL命令,日志文件縮小成功。

方法二、先設(shè)置恢復(fù)模式為“簡單恢復(fù)”模式,再收縮:

USE BigData ;
GO
ALTER DATABASE BigData
SET RECOVERY SIMPLE;--設(shè)置簡單恢復(fù)模式
GO
DBCC SHRINKFILE (BigData_Log, 1);
GO
ALTER DATABASE BigData
SET RECOVERY FULL;--恢復(fù)為原模式
GO 

方法三、

USE BigData;
GO
BACKUP LOG DATABASENAME TO DISK='d:\test.bak'
-- Shrink the truncated log file to 1 MB.
DBCC SHRINKFILE (Bigdata_Log, 1);
GO

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • SQL SERVER日志進(jìn)行收縮的圖文教程
  • SQL Server 2000/2005/2008刪除或壓縮數(shù)據(jù)庫日志的方法
  • sql server中錯誤日志errorlog的深入講解
  • SQL Server 2008 清空刪除日志文件(瞬間縮小日志到幾M)
  • SQLServer數(shù)據(jù)庫中開啟CDC導(dǎo)致事務(wù)日志空間被占滿的原因
  • Sqlserver2005日志文件太大如何減小
  • SQL Server無日志恢復(fù)數(shù)據(jù)庫(2種方法)
  • SqlServer數(shù)據(jù)庫提示 “tempdb” 的日志已滿 問題解決方案
  • MYSQL SERVER收縮日志文件實現(xiàn)方法

標(biāo)簽:潛江 茂名 惠州 唐山 仙桃 平頂山 長白山 貴港

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《SQL SERVER 2008數(shù)據(jù)庫日志文件收縮的方法》,本文關(guān)鍵詞  SQL,SERVER,2008,數(shù)據(jù)庫,日志,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《SQL SERVER 2008數(shù)據(jù)庫日志文件收縮的方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于SQL SERVER 2008數(shù)據(jù)庫日志文件收縮的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章