`
guanhuaing
  • 浏览: 1207667 次
文章分类
社区版块
存档分类
最新评论

SQL清除所有数据库日志脚本

 
阅读更多

--SQL清除所有数据库日志脚本
declare @CurrentDataBaseName nvarchar(100)
declare @CurrentDataBaseID nvarchar(100)
declare @CurrentLogName nvarchar(100)
declare @CurrentClearString nvarchar(4000)
declare @CurrentLogFileName nvarchar(255)
declare @CurrentClearLogString nvarchar(2000)
--查询所有数据库名称
--select * from master..sysdatabases where dbid>=7
declare tb cursor local for select name,dbid from master..sysdatabases where dbid>=7;
open tb
fetch next from tb into @CurrentDataBaseName,@CurrentDataBaseID
while @@fetch_status=0
begin
--查询指定数据库对应的所有日志文件
--select * from sys.database_files
--使用游标查询数据库对应的日志文件
set @CurrentLogFileName=''
set @CurrentClearLogString=''
--select * from sysaltfiles where dbid=7 and status>2;
declare tf cursor local for select name from sysaltfiles where dbid=@CurrentDataBaseID and status>2 and groupid<>1;
open tf
fetch next from tf into @CurrentLogFileName
while @@fetch_status=0
begin
if @CurrentClearLogString<>''
begin
set @CurrentClearLogString+='
DBCC SHRINKFILE (['+@CurrentLogFileName+'] , 11, TRUNCATEONLY)'
--print @CurrentClearLogString
end
else
begin
set @CurrentClearLogString='
DBCC SHRINKFILE (['+@CurrentLogFileName+'] , 11, TRUNCATEONLY)'
end
--print '当前清除日志文件语句'+@CurrentClearLogString
fetch next from tf into @CurrentLogFileName
end
close tf
deallocate tf
--print @CurrentClearLogString;

set @CurrentClearString='
USE [master]
ALTER DATABASE ['+@CurrentDataBaseName+'] SET RECOVERY SIMPLE WITH NO_WAIT
ALTER DATABASE ['+@CurrentDataBaseName+'] SET RECOVERY SIMPLE
USE ['+@CurrentDataBaseName+']'+@CurrentClearLogString+'
USE [master]
ALTER DATABASE ['+@CurrentDataBaseName+'] SET RECOVERY FULL WITH NO_WAIT
ALTER DATABASE ['+@CurrentDataBaseName+'] SET RECOVERY FULL'
print @CurrentClearString;
exec sp_executesql @CurrentClearString;

print '清除数据库'+@CurrentDataBaseName +'日志完成,操作语句'
fetch next from tb into @CurrentDataBaseName,@CurrentDataBaseID
end
close tb
deallocate tb

print '清除所有数据库日志完成'

分享到:
评论

相关推荐

    sql server 数据库脚本导出工具

    导出的结果是SQL脚本,该脚本可以用查询分析器执行。 数据导入: · 运行本程序,在主界面上选择数据库,点击“数据导入”按钮进入数据导入界面 · 进入界面时会要求您选择数据文件,您也可以点击“打开XML数据...

    (高职)《SQL-Server数据库技术》期末考试卷综合测试题带答案2.doc

    * 选择题3:SQL Server 支持在线备份,但在备份过程中,不允许执行的操作是创建或删除数据库文件、创建索引、执行非日志操作和自动或手工缩小数据库或数据库文件大小 * 选择题4:SQL 语言中,条件“年龄 BETWEEN 20...

    Sql-Server实用操作-数据库一致性检测工具(DBCC).pdf

    8. FlushProcInDB:清除特定数据库的存储过程缓存(使用它的数据库 id 而不是名称)。 9. IndexDefrag:减少目录分裂,但不给文件加锁,以便用户能够继续应用数据库。 10. CheckCatalog:检测特定数据库表及表之间...

    数据库迁移工具 SQLUtility

     在使用SQLServer企业管理器生成SQL脚本时,并没有按照数据库对象的依赖关系对脚本顺序进行排序。这个BUG导致了生成的脚本无法直接执行,开发人员必须手工对其进行排序或者寻找其他替代方案,从而增加了很大的工作...

    迷你版SQL2000服务器

    +数据库页增加收缩数据库和清除日志文件内容的右键功能项; +增加版本号显示,优化部分代码; +增加启动前自检,缺少文件时会有提示。 1.0.6 *修正附加和恢复数据库时,逻辑名处理不正确的问题。 1.0.5 ^备份...

    SQL Server 经典语句大全 CHM 版.rar

    SQL经典语句大全,收集我们在平时使用SQL时的一些语法语句汇集,比如创建、备份、删除数据库的SQL脚本,这些当然是...另附有一些SQL经典技巧,比如精简SQL语句、压缩数据库、检查备份集、日志清除、数据库加密…………

    MSsql每天自动备份数据库并每天自动清除log的脚本

    “下一步”选择更新数据优化信息、“下一步”检查数据库完整性、“下一步”指定数据库备份计划、“下一步”指定备份存放位置、“下一步”指定事务日志备份计划、“下一步”指定报表,“下一步”指定历史纪录维护,...

    数据库操作语句大全(sql)

    数据库操作语句大全(sql) 一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_...

    SQL Server 2008管理员必备指南(超高清PDF)Part3

    《SQL Server 2008管理员必备指南》适合所有SQL Server用户参考,更是数据库管理员的必备指南。 编辑推荐 《SQL Server 2008管理员必备指南》教你全面掌握SQL Server 2008的必备指南!这本实用指南讲述了SQL Server ...

    高级SQL Server监控、性能图、分析与优化、版本控制源码

    数据库管理:收缩、日志清除、备份、恢复等 在整个数据库中搜索对象/脚本内容,这在SQL Server 2012中也无法做到 自动显示所有对象的脚本,如表、视图、函数、存储过程等 免费,开源,0分下载

    SQL Server 2008管理员必备指南(超高清PDF)Part1

    《SQL Server 2008管理员必备指南》适合所有SQL Server用户参考,更是数据库管理员的必备指南。 编辑推荐 《SQL Server 2008管理员必备指南》教你全面掌握SQL Server 2008的必备指南!这本实用指南讲述了SQL Server ...

    SQL Server 2008管理员必备指南(超高清PDF)Part2

    《SQL Server 2008管理员必备指南》适合所有SQL Server用户参考,更是数据库管理员的必备指南。 编辑推荐 《SQL Server 2008管理员必备指南》教你全面掌握SQL Server 2008的必备指南!这本实用指南讲述了SQL Server ...

    SQL.Server.2008管理员必备指南.part4.rar(4/4)

     SQL Server专家的呕心力作,数据库管理员的实战宝典,全面、深入地剖析SQL Server2008新特性,结构独特,实例丰富,操作性强。 编辑本段 目录  第Ⅰ部分 SQL Server 2008管理基础  第1章 SQL Server 2008管理...

    SQL.Server.2008管理员必备指南.part2.rar(2/4)

     SQL Server专家的呕心力作,数据库管理员的实战宝典,全面、深入地剖析SQL Server2008新特性,结构独特,实例丰富,操作性强。 编辑本段 目录  第Ⅰ部分 SQL Server 2008管理基础  第1章 SQL Server 2008管理...

    SQL.Server.2008管理员必备指南.part1.rar(1/4)

     SQL Server专家的呕心力作,数据库管理员的实战宝典,全面、深入地剖析SQL Server2008新特性,结构独特,实例丰富,操作性强。 编辑本段 目录  第Ⅰ部分 SQL Server 2008管理基础  第1章 SQL Server 2008管理...

    Oracle数据库管理员技术指南

    第1章 建立和配置数据库 1.1 数据库创建规划 1.1.1 规划以及提出正确的问题 1.1.2 怎样确定恰当的数据块尺寸 1.2 组织文件系统 1.2.1 怎样命名数据库文件 1.2.2 使用最佳灵活结构 1.2.3 怎样配置符合 OFA 的 ...

    Linux环境下rman备份的实例脚本

    同时,使用 `sql` 命令更改系统存档日志当前状态。 一级备份 一级备份使用 `allocate channel` 命令分配磁盘通道,备份数据库的增量变化,包括数据文件和存档日志文件。使用 `backup incremental level 1` 命令执行...

    迷你SQL2000

    +数据库页增加收缩数据库和清除日志文件内容的右键功能项; +增加版本号显示,优化部分代码; +增加启动前自检,缺少文件时会有提示。 1.0.6 *修正附加和恢复数据库时,逻辑名处理不正确的问题。 1.0.5 ^备份...

    SQL.Server.2008管理员必备指南.part3.rar(3/4)

     SQL Server专家的呕心力作,数据库管理员的实战宝典,全面、深入地剖析SQL Server2008新特性,结构独特,实例丰富,操作性强。 编辑本段 目录  第Ⅰ部分 SQL Server 2008管理基础  第1章 SQL Server 2008管理...

Global site tag (gtag.js) - Google Analytics