欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

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

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

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

在這里插入圖片描述

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

在這里插入圖片描述

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

在這里插入圖片描述

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

在這里插入圖片描述

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

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

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

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

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

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

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

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

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

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

在這里插入圖片描述

點(diǎn)擊OK

在這里插入圖片描述

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

在這里插入圖片描述

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

在這里插入圖片描述

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

在這里插入圖片描述

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

在這里插入圖片描述

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

在這里插入圖片描述

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

在這里插入圖片描述

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

在這里插入圖片描述

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

執(zhí)行如下命令:

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

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

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

USE TEST01
GO
ALTER DATABASE TEST01 SET RECOVERY SIMPLE WITH NO_WAIT
GO
--設(shè)為簡(jiǎn)單模式
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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SQL Server高級(jí)內(nèi)容之子查詢(xún)和表鏈接概述及使用

    SQL Server高級(jí)內(nèi)容之子查詢(xún)和表鏈接概述及使用

    子查詢(xún)就是在查詢(xún)的where子句中的判斷依據(jù)是另一個(gè)查詢(xún)的結(jié)果,表鏈接就是將多個(gè)表合成為一個(gè)表,但是不是向union一樣做結(jié)果集的合并操作,但是表鏈接可以將不同的表合并,并且共享字段,感興趣的你可以了解下本文
    2013-03-03
  • SQL Server2019數(shù)據(jù)庫(kù)備份與還原腳本(批量備份)

    SQL Server2019數(shù)據(jù)庫(kù)備份與還原腳本(批量備份)

    本文主要介紹了SQL Server2019數(shù)據(jù)庫(kù)備份與還原腳本,數(shù)據(jù)庫(kù)可批量備份,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • 使用正則表達(dá)式匹配tsql注釋語(yǔ)句

    使用正則表達(dá)式匹配tsql注釋語(yǔ)句

    我相信接觸過(guò)SQL Server數(shù)據(jù)庫(kù)的很多朋友都知道,它是以"--"開(kāi)頭來(lái)進(jìn)行注釋的,下面的方法是使用正則表達(dá)式匹配tsql注釋語(yǔ)句的方法,大家參考使用吧
    2014-02-02
  • 磁盤(pán)緩存專(zhuān)題之一 緩存命中和緩存未命中&緩存與緩沖間的差異

    磁盤(pán)緩存專(zhuān)題之一 緩存命中和緩存未命中&緩存與緩沖間的差異

    在大多數(shù)計(jì)算機(jī)中,緩存是一個(gè)很重要的技術(shù)。事實(shí)上,計(jì)算機(jī)中的所有數(shù)據(jù)訪(fǎng)問(wèn)都可以看成是基本緩存概念的某種變體
    2012-08-08
  • 如何恢復(fù)SQL Server 2000損壞的數(shù)據(jù)庫(kù)文件

    如何恢復(fù)SQL Server 2000損壞的數(shù)據(jù)庫(kù)文件

    在現(xiàn)實(shí)情況中由于硬件和軟件的原因可能導(dǎo)致數(shù)據(jù)庫(kù)文件損壞,那么損壞的數(shù)據(jù)庫(kù)文件有沒(méi)有辦法修復(fù)呢?下面講講如何恢復(fù)SQL Server 2000損壞的數(shù)據(jù)庫(kù)文件
    2014-01-01
  • sql2000 卸載后重新安裝時(shí)不能安裝的解決辦法

    sql2000 卸載后重新安裝時(shí)不能安裝的解決辦法

    sql2000卸載了后重新安裝時(shí)不能安裝的解決辦法,大家可以看下,下面的步驟。
    2009-07-07
  • SQLServer Top語(yǔ)句參數(shù)化方法

    SQLServer Top語(yǔ)句參數(shù)化方法

    在T-Sql中,一般top數(shù)據(jù)不確定的情況下,都是拼sql,這樣無(wú)論是效率還是可讀性都不好。應(yīng)該使用下面參數(shù)化Top方式
    2009-07-07
  • SQL?Server中如何給表添加注釋詳解

    SQL?Server中如何給表添加注釋詳解

    這篇文章主要給大家介紹了關(guān)于SQL?Server中如何給表添加注釋的相關(guān)資料,在SQL Server數(shù)據(jù)庫(kù)應(yīng)用程序開(kāi)發(fā)中,可以在數(shù)據(jù)庫(kù)表結(jié)構(gòu)創(chuàng)建時(shí)為它們添加注釋,以便更好地描述其作用、含義或其他相關(guān)信息,需要的朋友可以參考下
    2023-11-11
  • SQLSERVER數(shù)據(jù)庫(kù)備份后無(wú)法還原的解決辦法

    SQLSERVER數(shù)據(jù)庫(kù)備份后無(wú)法還原的解決辦法

    有時(shí)候?yàn)榱丝紤]數(shù)據(jù)安全我們都會(huì)備份數(shù)據(jù)庫(kù),sqlserver的備份格式一般都是bak結(jié)尾的,但覆蓋時(shí)容易出問(wèn)題,這里簡(jiǎn)單介紹下,需要的朋友可以參考下
    2013-08-08
  • SQL Server兩表數(shù)據(jù)同步的多種方法詳解

    SQL Server兩表數(shù)據(jù)同步的多種方法詳解

    這篇文章主要介紹了SQL Server兩表數(shù)據(jù)同步的多種方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-06-06

最新評(píng)論