内容显示页
 
类别:数据库+SQL | 浏览(875) | 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 ('master','model','msdb','tempdb')) --不需要进行日志收缩的数据库名
   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

 


引用:
SQL语句实现SQL Server 2000及Sql Server 2005日志收缩(批量)
http://www.yongfa365.com/item/SQL-SQL-Server-2000-2005-LOG-DBCC-SHRINKFILE.html
 
 
相关链接
 
网友评论:
1 tangjin - 2010-5-4 15:46:40
不错
 
姓名: 记住我
网址:
邮箱:
内容:
验证码:  验证码图片 看不清? 换张图试试
 
     
 
 
文章分类
 
 
.Net + C#(74)
 
 
ASP+VBS(161)
 
 
 
Linux(10)
 
 
 
web 2.0(26)
 
 
 
 
 
心程(68)
 
生活(97)
 
 
     

Power by :柳永法(yongfa365)'Blog  | 京ICP备07011491号  QQ:64049027  E-mail:64049027@qq.com Weibo

申请友情链接 要求:跟本站主题相类似正规网站,双方交换为首页位置

转载请注明来源,以便后人及时得到最新、修正、加强版!!!