使用語句清除sqlserver資料庫日誌檔案

2022-01-20 10:17:10 字數 2384 閱讀 6273

修改其中的3個引數(資料庫名,日誌檔名,和目標日誌檔案的大小),執行即可 

set nocount on

declare

@logicalfilename

sysname,

@maxminutes

int,

@newsize

intuse tablename --

要操作的資料庫名

select

@logicalfilename='

tablename_log

', --

日誌檔名

@maxminutes

=10, --

limit on time allowed to wrap log.

@newsize=1

--你想設定的日誌檔案的大小(m)

--setup / initialize

declare

@originalsize

intselect

@originalsize

=size

from

sysfiles

where name =

@logicalfilename

select

'original size of '+

db_name() +

'log is '+

convert(varchar(30),@originalsize) +

'8k pages or '+

convert(varchar(30),(@originalsize*8

/1024)) +'mb

'from

sysfiles

where name =

@logicalfilename

create

table

dummytrans

(dummycolumn

char (8000) not

null

) declare

@counter

int,

@starttime

datetime

, @trunclog

varchar(255

) select

@starttime

=getdate

(),

@trunclog='

backup log '+

db_name() +

'with truncate_only

'dbcc shrinkfile (@logicalfilename, @newsize

) exec (@trunclog

) --

wrap the log if necessary.

while

@maxminutes

>

datediff (mi, @starttime, getdate()) --

time has not expired

and@originalsize

= (select size from sysfiles where name =

@logicalfilename

) and (@originalsize*8

/1024) >

@newsize

begin

--outer loop.

select

@counter=0

while ((@counter

<

@originalsize

/16) and (@counter

<

50000

)) begin

--update

insert dummytrans values ('

fill log')

delete

dummytrans

select

@counter

=@counter+1

endexec (@trunclog

) end

select

'final size of '+

db_name() +

'log is '+

convert(varchar(30),size) +

'8k pages or '+

convert(varchar(30),(size*8/

1024)) +'mb

'from

sysfiles

where name =

@logicalfilename

drop

table

dummytrans

set nocount off

SQL Server 常用語句使用詳解

說明 用於從資料庫中選取資料。結果被儲存在乙個結果表中,稱為結果集。使用詳解 sql server 使用select語句選擇 資料 指定列資料,所有列資料 說明 用於提取那些滿足指定條件的記錄。語法 select from table name where column name operator ...

SQL Server清除日誌語句

sql1 清除日誌 2 declare logicalfilename sysname,3 maxminutes int,4 newsize int 5 use database 要操作的資料庫名 6 select logicalfilename database log 日誌檔名 7 maxmin...

sqlserver常用語句

刪除主鍵 alter table 表名 drop constraint 主鍵名 新增主鍵 alter table 表名 add constraint 主鍵名 primary key 欄位名1,欄位名2 新增非聚集索引的主鍵 alter table 表名 add constraint 主鍵名 prim...