最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SQLServer日志收縮的兩種方法實(shí)現(xiàn)

 更新時間:2024年08月30日 11:46:09   作者:夜光小兔紙  
日志文件撐爆了磁盤,log文件不能再存儲新的transaction log,本文主要介紹了SQLServer日志收縮的兩種方法實(shí)現(xiàn),文中通過圖文示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

在日常運(yùn)維中,有時會遇到“The transaction log for database ‘xxxx’ is full due to ‘ACTIVE_TRANSACTION’.”這樣的報(bào)錯信息。

此錯誤消息表明:數(shù)據(jù)庫的事務(wù)日志文件空間耗盡,log 文件不能再存儲新的transaction log。

這個時候我們需要進(jìn)行日志收縮。本文將介紹日志收縮的兩種方法。

通過圖形界面進(jìn)行日志收縮

第一步:右鍵數(shù)據(jù)庫屬性

在這里插入圖片描述

第二步:更改數(shù)據(jù)庫恢復(fù)模式,將模式改為Simple。

在這里插入圖片描述

第三步:右鍵數(shù)據(jù)庫,Tasks→Shrink→Files 。

在這里插入圖片描述

第四步:收縮數(shù)據(jù)庫日志,選擇文件類型Log,并在Shrink action 中將文件收縮到給出的Minimum 值,這里的數(shù)據(jù)庫因?yàn)槭切陆ǖ臎]有數(shù)據(jù),所以提供的Minimum 值為0MB,可以將紅框3中的數(shù)字修改為0。

在這里插入圖片描述

  • File type:選擇所要收縮的是“數(shù)據(jù)庫文件”還是“日志文件”。
  • Currebtly allocated space:數(shù)據(jù)庫為該文件分配的大小,就是在磁盤上看到的文件大小。
  • Available free space:就是“當(dāng)前分配的空間” 減去“實(shí)際使用的空間”。

Shrink action:
① Release unused space:將該文件中未使用的空間釋放出來,數(shù)據(jù)在文件中不移動;
② Reorganize pages before releasing unused space:此選項(xiàng)可以將文件收縮到“指定大小”,并將數(shù)據(jù)重新組織。其最小值為數(shù)據(jù)庫“實(shí)際使用的空間”;
③ Empty file by migrating the data to other files in the same filegroup:該選項(xiàng)很少用。

上述操作也可以使用T-SQL替代:

DBCC ShrinkFile(‘?dāng)?shù)據(jù)庫名',  targetsize);			/* 收縮數(shù)據(jù)庫文件 */
DBCC ShrinkFile(‘?dāng)?shù)據(jù)庫名_log',  targetsize);		/* 收縮日志文件 */

Targetsize:單位為兆,必須為整數(shù),DBCC SHRINKFILE 嘗試將文件收縮到指定大小。
DBCC SHRINKFILE 不會將文件收縮到小于“實(shí)際使用的空間”大小,例如“分配空間”為10M,“實(shí)際使用空間”為6M,當(dāng)制定targetsize為1時,則將該文件收縮到6M,不會將文件收縮到1M。

用本例中的數(shù)據(jù)庫替換后如下:

DBCC ShrinkFile(‘TEST01',  1);			/* 收縮數(shù)據(jù)庫文件 */
DBCC ShrinkFile(‘TEST01_log', 1);		/* 收縮日志文件 */

注意:如若磁盤空間已滿,無法進(jìn)行收縮數(shù)據(jù)庫事務(wù)日志文件,可采取先分離出部分暫未使用的數(shù)據(jù)庫,然后將MDF文件及LDF文件進(jìn)行拷貝到其他空余盤,進(jìn)行釋放磁盤空間,待日志收縮后,再次將分離出的數(shù)據(jù)庫文件進(jìn)行附加。

分離數(shù)據(jù)庫操作如下:

右擊數(shù)據(jù)庫,Task→Detach

在這里插入圖片描述

點(diǎn)擊OK

在這里插入圖片描述

此時發(fā)現(xiàn)數(shù)據(jù)庫列表中已經(jīng)沒有TEST01,說明數(shù)據(jù)庫分離成功了。

在這里插入圖片描述

附加數(shù)據(jù)庫操作如下:
右擊Databases,單擊Attach

在這里插入圖片描述

點(diǎn)擊Add,添加數(shù)據(jù)庫文件

在這里插入圖片描述

選擇需要添加的文件后點(diǎn)擊OK

在這里插入圖片描述

檢查添加的文件無誤后,點(diǎn)擊OK

在這里插入圖片描述

此時在數(shù)據(jù)庫列表中可看到剛附件上去的數(shù)據(jù)庫TEST01

在這里插入圖片描述

若未顯示TEST01,請刷新數(shù)據(jù)庫列表

在這里插入圖片描述

通過 Transact-Sql 進(jìn)行日志收縮

執(zhí)行如下命令:

USE [數(shù)據(jù)庫名]
GO
ALTER DATABASE [數(shù)據(jù)庫名] SET RECOVERY SIMPLE WITH NO_WAIT
GO
--設(shè)為簡單模式
ALTER DATABASE [數(shù)據(jù)庫名] SET RECOVERY SIMPLE 
GO
USE [數(shù)據(jù)庫名]
GO
DBCC SHRINKFILE (N'[log文件名]', [ targetsize], TRUNCATEONLY) 
GO
USE [數(shù)據(jù)庫名]
GO
ALTER DATABASE [數(shù)據(jù)庫名] SET RECOVERY FULL WITH NO_WAIT
GO
--還原為完全模式
ALTER DATABASE [數(shù)據(jù)庫名] SET RECOVERY FULL 
GO

[數(shù)據(jù)庫名]替換為具體數(shù)據(jù)庫, [ targetsize]替換為收縮目標(biāo)值。

替換為本例中的數(shù)據(jù)庫修改如下:

USE TEST01
GO
ALTER DATABASE TEST01 SET RECOVERY SIMPLE WITH NO_WAIT
GO
--設(shè)為簡單模式
ALTER DATABASE TEST01 SET RECOVERY SIMPLE 
GO
USE TEST01
GO
DBCC SHRINKFILE (N'TEST01_log', 1, TRUNCATEONLY) 
GO
USE TEST01
GO
ALTER DATABASE TEST01 SET RECOVERY FULL WITH NO_WAIT
GO
--還原為完全模式
ALTER DATABASE TEST01 SET RECOVERY FULL 
GO

到此這篇關(guān)于SQLServer日志收縮方法實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)SQL 日志收縮內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

永泰县| 海兴县| 弋阳县| 山西省| 晋江市| 鄂托克前旗| 确山县| 右玉县| 图片| 南乐县| 彭州市| 嘉善县| 广宗县| 新宁县| 安平县| 得荣县| 崇文区| 岢岚县| 丹江口市| 东阳市| 云梦县| 湛江市| 精河县| 广宗县| 密云县| 山东| 秦安县| 涿鹿县| 安宁市| 大埔区| 黔南| 肇东市| 攀枝花市| 彰武县| 昆山市| 武义县| 隆德县| 西畴县| 会同县| 永春县| 峨边|