内容显示页
 
类别:数据库+SQL | 浏览(136) | 2008-8-24 10:26:53

 

--SQL语句实现SQL Server 2000及Sql Server 2005日志收缩(批量)

DECLARE @name VARCHAR(25)
DECLARE @SQL VARCHAR(1000)
DECLARE @logid INT

DECLARE sysdatabase_name CURSOR FOR SELECT  name FROM master.dbo.sysdatabases

OPEN sysdatabase_name


FETCH NEXT FROM sysdatabase_name   INTO   @name

WHILE @@FETCH_STATUS = 0
BEGIN

   IF ( @name NOT IN ('xxx')) --不需要进行日志收缩的数据库名
   BEGIN
     SET @SQL =' DECLARE @logid INT
                 USE   [' + @name+']
                 SELECT @logid = fileid FROM sysfiles WHERE RIGHT(rtrim(filename),3) = ''ldf''

                 BACKUP LOG [' + @name+'] WITH NO_LOG
                 DBCC SHRINKFILE (@logid) '

     EXEC(@SQL)

   END

   FETCH NEXT FROM sysdatabase_name   INTO   @name

END

CLOSE sysdatabase_name
DEALLOCATE sysdatabase_name

引用本页地址:http://www.yongfa365.com/item/SQL-SQL-Server-2000-2005-LOG-DBCC-SHRINKFILE.html
 
 
相关链接
 
网友评论:
姓名: 记住我
网址:
邮箱:
内容:
验证码:  验证码图片 看不清? 换张图试试
 
     
 
 
文章分类
 
 
专题(3)
 
.Net + C#(41)
 
ASP+VBS(153)
 
 
 
Linux(10)
 
 
 
web 2.0(24)
 
 
 
 
 
心程(59)
 
生活(80)
 
 
     

Power by :柳永法(yongfa365)'Blog | Model by :hibaidu | CSS by:众网友 | 京ICP备07011491号  QQ:64049027  E-mail:64049027qq.com

本空间赞助商:北京中科兴联信息技术有限公司