内容显示页
 
类别:数据库+SQL | 浏览(78) | 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
 
 
相关链接
 
网友评论:
姓名: 记住我
网址:
邮箱:
内容:
验证码:  验证码图片看不清? 换张图试试
 
   
 
 
文章分类
 
   

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

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