成人视屏在线观看-国产99精品-国产精品1区2区-欧美一级在线观看-国产一区二区日韩-色九九九

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

詳細(xì)講解刪除SQL Server日志的具體方法

瀏覽:151日期:2023-11-06 09:45:28

一: 刪除LOG

1:分離數(shù)據(jù)庫(kù) 企業(yè)管理器->服務(wù)器->數(shù)據(jù)庫(kù)->右鍵->分離數(shù)據(jù)庫(kù)

2:刪除LOG文件

3:附加數(shù)據(jù)庫(kù) 企業(yè)管理器->服務(wù)器->數(shù)據(jù)庫(kù)->右鍵->附加數(shù)據(jù)庫(kù)

此法生成新的LOG,大小只有520多K

再將此數(shù)據(jù)庫(kù)設(shè)置自動(dòng)收縮

或用代碼:

下面的示例分離 77169database,然后將 77169database 中的一個(gè)文件附加到當(dāng)前服務(wù)器。

EXEC sp_detach_db @dbname = '77169database'

EXEC sp_attach_single_file_db @dbname = '77169database',

@physname = 'c:Program FilesMicrosoft SQL ServerMSSQLData77169database.mdf'

二:清空日志

DUMP TRANSACTION 庫(kù)名 WITH NO_LOG

再:

企業(yè)管理器--右鍵你要壓縮的數(shù)據(jù)庫(kù)--所有任務(wù)--收縮數(shù)據(jù)庫(kù)--收縮文件--選擇日志文件--在收縮方式里選擇收縮至XXM,這里會(huì)給出一個(gè)允許收縮到的最小M數(shù),直接輸入這個(gè)數(shù),確定就可以了

三: 如果想以后不讓它增長(zhǎng)

企業(yè)管理器->服務(wù)器->數(shù)據(jù)庫(kù)->屬性->事務(wù)日志->將文件增長(zhǎng)限制為2M

自動(dòng)收縮日志,也可以用下面這條語(yǔ)句:

ALTER DATABASE 數(shù)據(jù)庫(kù)名

SET AUTO_SHRINK ON

故障還原模型改為簡(jiǎn)單,用語(yǔ)句是:

USE MASTER

GO

ALTER DATABASE 數(shù)據(jù)庫(kù)名 SET RECOVERY SIMPLE

GO

------------------------------------------

截?cái)嗍聞?wù)日志:

BACKUP LOG { database_name | @database_name_var }

{

[ WITH

{ NO_LOG | TRUNCATE_ONLY } ]

}

--壓縮日志及數(shù)據(jù)庫(kù)文件大小

/*--特別注意

請(qǐng)按步驟進(jìn)行,未進(jìn)行前面的步驟,請(qǐng)不要做后面的步驟

否則可能損壞你的數(shù)據(jù)庫(kù).

--*/

1.清空日志

DUMP TRANSACTION 庫(kù)名 WITH NO_LOG

2.截?cái)嗍聞?wù)日志:

BACKUP LOG 數(shù)據(jù)庫(kù)名 WITH NO_LOG

3.收縮數(shù)據(jù)庫(kù)文件(如果不壓縮,數(shù)據(jù)庫(kù)的文件不會(huì)減小

企業(yè)管理器--右鍵你要壓縮的數(shù)據(jù)庫(kù)--所有任務(wù)--收縮數(shù)據(jù)庫(kù)--收縮文件

--選擇日志文件--在收縮方式里選擇收縮至XXM,這里會(huì)給出一個(gè)允許收縮到的最小M數(shù),直接輸入這個(gè)數(shù),確定就可以了

--選擇數(shù)據(jù)文件--在收縮方式里選擇收縮至XXM,這里會(huì)給出一個(gè)允許收縮到的最小M數(shù),直接輸入這個(gè)數(shù),確定就可以了

也可以用SQL語(yǔ)句來(lái)完成

--收縮數(shù)據(jù)庫(kù)

DBCC SHRINKDATABASE(客戶(hù)資料)

--收縮指定數(shù)據(jù)文件,1是文件號(hào),可以通過(guò)這個(gè)語(yǔ)句查詢(xún)到:select * from sysfiles

DBCC SHRINKFILE(1)

4.為了最大化的縮小日志文件(如果是sql 7.0,這步只能在查詢(xún)分析器中進(jìn)行)

a.分離數(shù)據(jù)庫(kù):

企業(yè)管理器--服務(wù)器--數(shù)據(jù)庫(kù)--右鍵--分離數(shù)據(jù)庫(kù)

b.在我的電腦中刪除LOG文件

c.附加數(shù)據(jù)庫(kù):

企業(yè)管理器--服務(wù)器--數(shù)據(jù)庫(kù)--右鍵--附加數(shù)據(jù)庫(kù)

此法將生成新的LOG,大小只有500多K

或用代碼:

下面的示例分離 77169database,然后將 77169database 中的一個(gè)文件附加到當(dāng)前服務(wù)器。

a.分離

EXEC sp_detach_db @dbname = '77169database'

b.刪除日志文件

c.再附加

EXEC sp_attach_single_file_db @dbname = '77169database',

@physname = 'c:Program FilesMicrosoft SQL ServerMSSQLData77169database.mdf'

5.為了以后能自動(dòng)收縮,做如下設(shè)置:

企業(yè)管理器--服務(wù)器--右鍵數(shù)據(jù)庫(kù)--屬性--選項(xiàng)--選擇'自動(dòng)收縮'

--SQL語(yǔ)句設(shè)置方式:

EXEC sp_dboption '數(shù)據(jù)庫(kù)名', 'autoshrink', 'TRUE'

6.如果想以后不讓它日志增長(zhǎng)得太大

企業(yè)管理器--服務(wù)器--右鍵數(shù)據(jù)庫(kù)--屬性--事務(wù)日志

--將文件增長(zhǎng)限制為xM(x是你允許的最大數(shù)據(jù)文件大小)

--SQL語(yǔ)句的設(shè)置方式:

alter database 數(shù)據(jù)庫(kù)名 modify file(name=邏輯文件名,maxsize=20)

--------------------------------------------------------------

/*--壓縮數(shù)據(jù)庫(kù)的通用存儲(chǔ)過(guò)程

壓縮日志及數(shù)據(jù)庫(kù)文件大小

因?yàn)橐獙?duì)數(shù)據(jù)庫(kù)進(jìn)行分離處理

所以存儲(chǔ)過(guò)程不能創(chuàng)建在被壓縮的數(shù)據(jù)庫(kù)中

/*--調(diào)用示例

exec p_compdb 'test'

--*/

use master --注意,此存儲(chǔ)過(guò)程要建在master數(shù)據(jù)庫(kù)中

go

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_compdb]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)

drop procedure [dbo].[p_compdb]

GO

create proc p_compdb

@dbname sysname, --要壓縮的數(shù)據(jù)庫(kù)名

@bkdatabase bit=1, --因?yàn)榉蛛x日志的步驟中,可能會(huì)損壞數(shù)據(jù)庫(kù),所以你可以選擇是否自動(dòng)數(shù)據(jù)庫(kù)

@bkfname nvarchar(260)='' --備份的文件名,如果不指定,自動(dòng)備份到默認(rèn)備份目錄,備份文件名為:數(shù)據(jù)庫(kù)名+日期時(shí)間

as

--1.清空日志

exec('DUMP TRANSACTION ['+@dbname+'] WITH NO_LOG')

--2.截?cái)嗍聞?wù)日志:

exec('BACKUP LOG ['+@dbname+'] WITH NO_LOG')

--3.收縮數(shù)據(jù)庫(kù)文件(如果不壓縮,數(shù)據(jù)庫(kù)的文件不會(huì)減小

exec('DBCC SHRINKDATABASE(['+@dbname+'])')

--4.設(shè)置自動(dòng)收縮

exec('EXEC sp_dboption '''+@dbname+''',''autoshrink'',''TRUE''')

--后面的步驟有一定危險(xiǎn),你可以可以選擇是否應(yīng)該這些步驟

--5.分離數(shù)據(jù)庫(kù)

if @bkdatabase=1

begin

if isnull(@bkfname,'')=''

set @bkfname=@dbname+'_'+convert(varchar,getdate(),112)

+replace(convert(varchar,getdate(),108),':','')

select 提示信息='備份數(shù)據(jù)庫(kù)到SQL 默認(rèn)備份目錄,備份文件名:'+@bkfname

exec('backup database ['+@dbname+'] to disk='''+@bkfname+'''')

end

--進(jìn)行分離處理

create table #t(fname nvarchar(260),type int)

exec('insert into #t select filename,type=status&0x40 from ['+@dbname+']..sysfiles')

exec('sp_detach_db '''+@dbname+'''')

--刪除日志文件

declare @fname nvarchar(260),@s varchar(8000)

declare tb cursor local for select fname from #t where type=64

open tb

fetch next from tb into @fname

while @@fetch_status=0

begin

set @s='del ''+rtrim(@fname)+'''

exec master..xp_cmdshell @s,no_output

fetch next from tb into @fname

end

close tb

deallocate tb

--附加數(shù)據(jù)庫(kù)

set @s=''

declare tb cursor local for select fname from #t where type=0

open tb

fetch next from tb into @fname

while @@fetch_status=0

begin

set @s=@s+','''+rtrim(@fname)+''''

fetch next from tb into @fname

end

close tb

deallocate tb

exec('sp_attach_single_file_db '''+@dbname+''''+@s)

go

主站蜘蛛池模板: 免费一区二区三区在线视频 | 欧美成人性色生活片免费在线观看 | 波多野结衣一区二区 三区 波多野结衣一区二区三区88 | 抱着cao才爽免费观看 | 国产精品亚洲一区二区三区在线观看 | 九九精品视频在线播放 | 韩国一区在线 | 亚洲天堂久久久 | 国产一起色一起爱 | 亚洲在线第一页 | 国产微拍精品福利视频 | 欧美成人www在线观看网页 | 亚洲视频日韩 | 草草影院在线播放 | 欧美一级免费片 | 久久久亚洲天堂 | 99在线热视频只有精品免费 | 亚洲三级成人 | 国产精品久久久久久麻豆一区 | 日韩一区二区在线免费观看 | 中文字幕一区2区 | 亚洲国产成人精品久久 | 亚洲精品国产综合久久一线 | 一本久道久久综合中文字幕 | 一级毛片免费观看 | 国产成人精品亚洲2020 | 日韩欧美一区二区三区在线观看 | 成人9久久国产精品品 | 国产精品激情丝袜美女 | 免费高清国产 | 亚洲国产成人久久午夜 | 91精品国产手机在线版 | 91成人网| 欧美一区二区三区免费播放 | 一本大道香蕉久在线不卡视频 | 青青草原色 | 精品久久久久久久久免费影院 | a级毛片免费看 | 欧美成人免费在线观看 | 欧美在线乱妇一级毛片 | 一级毛片成人午夜 |