declare @databasename nvarchar(100)
--定义游标以及赋值 获取所有Online的Database Name
declare getDataBaseCursor  cursor for select name from  master.sys.databases where state_desc='online'
--在使用游标之前必须打开它,打开游标
open getDataBaseCursor
--使用fetcth语句取得数据,一条FETCH语句一次可以将一条记录放入指定的变量中,达到Shrink每个DB的效果
fetch next from getDataBaseCursor into @databasename
while @@FETCH_STATUS = 0
begin
 declare @RecoveryModel nvarchar(20)
 declare @sql nvarchar(100)
 declare @logfileid int
 select @RecoveryModel= cast(DATABASEPROPERTYEX(name,'RECOVERY') as varchar(20)) from master..sysdatabases where name =@databasename
 IF @RecoveryModel<>'SIMPLE'
  begin
                EXEC ('ALTER DATABASE '+@databasename +' SET RECOVERY SIMPLE')
 end
 declare @dsql nvarchar(200)
 set @dsql=N'select @logfileid = file_id from ' + @databasename+ N'.sys.database_files where type_desc = ''LOG'''
 exec sp_executesql @dsql,N'@logfileid int output',@logfileid output
 EXEC('use '+@databasename+ ' DBCC SHRINKFILE( '+@logfileid+')')
fetch next from getDataBaseCursor into @databasename
end
--在游标操作的最后请不要忘记关闭游标,以使系统释放游标占用的资源
CLOSE getDataBaseCursor
--删除游标
DEALLOCATE getDataBaseCursor

游标的使用之压缩数据库Log文件的更多相关文章

  1. MSSQL数据库清理Log 压缩数据库日志文件

    dump transaction 数据库名 with no_log go dbcc shrinkdatabase(数据库名)

  2. Sql Server 2008 压缩数据库日志文件

    第一步:将数据库设置为简单模式 选中数据库点右键->属性: 第二步:收缩数日志文件 1, 2,   第三步:将恢复模式改回为完整模式     如果你觉得用UI界面麻烦,那你就用SQL语句吧   ...

  3. SQL SERVER 压缩数据库日志文件

    ALTER DATABASE DBNAME SET RECOVERY SIMPLE --设置为简单恢复模式 GO DBCC SHRINKFILE (DBNAME_log, 1) GO ALTER DA ...

  4. SQL SERVER数据库删除LOG文件和清空日志的方案

    原文:SQL SERVER数据库删除LOG文件和清空日志的方案 数据库在使用过程中会使日志文件不断增加,使得数据库的性能下降,并且占用大量的磁盘空间.SQL Server数据库都有log文件,log文 ...

  5. [转]SQL SERVER数据库删除LOG文件和清空日志的方案

    本文转自:https://www.cnblogs.com/ShaYeBlog/archive/2012/09/04/2670505.html 数据库在使用过程中会使日志文件不断增加,使得数据库的性能下 ...

  6. SQLServer2005删除log文件和清空日志的方案

    数据库在使用过程中会使日志文件不断增加,使得数据库的性能下降,并且占用大量的磁盘空间.SQL Server数据库都有log文件,log文件记录用户对数据库修改的操作.可以通过直接删除log文件和清空日 ...

  7. SQL脚本--有关压缩数据库日志

    /*--压缩数据库的通用存储过程  压缩日志及数据库文件大小 因为要对数据库进行分离处理 所以存储过程不能创建在被压缩的数据库中 --邹建 2004.03(引用请保留此信息)--*/ /*--调用示例 ...

  8. sql2008r 收缩数据库日志log文件;删除errorlog文件的方法

    1.清空log文件,以减少数据库文件log所占的空间 USE dbname1 ; GO ALTER DATABASE dbname1 SET RECOVERY SIMPLE;--设置简单恢复模式 GO ...

  9. sql server压缩数据库和日志文件

    DBCC SHRINKDATABASE 功能:压缩数据库 用法:DBCC SHRINKDATABASE tb_115sou_com 注意:只有产生许多未使用空间的操作(如截断表或删除表操作)后,执行收 ...

随机推荐

  1. java网络流传输,中文乱码问题。

    最近需要从某个网页上抓取数据.一波三折. 1. 先要找到网站页面调用后台数据服务的url地址,但是本人对js不了解,花了不少时间在分析其网页源代码的js部分,试图寻找出调用数据的链接. 后来得知浏览器 ...

  2. devexpress bandgridview使用总结(14.2)

    这两天利用bandgridview做表头,希望做成如下形状 在制作过程中发现如果想实现动态表头,代码的书写顺序需要稍加注意 实例化gridband 绑定gridband至bandgridview gr ...

  3. Mysql中用SQL增加、删除字段,修改字段名、字段类型、注释,调整字段顺序总结

    转自:http://www.111cn.net/database/mysql/71648.htm 1.增加一个字段  代码如下 复制代码 //增加一个字段,默认为空 alter table user ...

  4. hive中rcfile格式(收藏文)

    首先声明,此文是属于纯粹收藏文,感觉讲的很不错. 本文介绍了Facebook公司数据分析系统中的RCFile存储结构,该结构集行存储和列存储的优点于一身,在MapReduce环境下的大规模数据分析中扮 ...

  5. kendo ui 富文本编辑控件 Editor 实现本地上传图片,并显示

    富文本编辑的组件有很多,大名鼎鼎的KENDO UI中自然也有,但是默认功能中,只能包含网络图片, 而如果要实现本地上传图片,KENDO UI也提供了相应的功能,但必须实现KENDO规定的多个接口, 而 ...

  6. 学习C:程序

    #include <stdio.h> main(){ /*将输入复制到输出,并将其中连续的多个空格用一个空格代替*/ int c,nb; nb = 0; while((c = getcha ...

  7. redis 扩展 安装 和 memcached 安装

    在Windows下为PHP5.6安装redis扩展和memcached扩展   一.php安装redis扩展   1.使用phpinfo()函数查看PHP的版本信息,这会决定扩展文件版本       ...

  8. Eclipse 关联项目的源码

    Eclipse 关联项目的源码 1.jdk源码的关联: 一般jdk自带的类,显示其源码的方式: 用jdk自带的src.zip吧:我的JDK目录是:D:\Java\jdk1.6.0_10 , JRE目录 ...

  9. DB2 syntax error

    Error infomation:  An unexpected token "JOIN" was found following "". Expected t ...

  10. nginx的初步了解

    今天学习了nginx.nginx不但可以作为服务器,类似于IIS,也可以作为反向代理.它有一个配置文件nginx.conf,在这个文件里配置了一些重要的参数,通过修改这些参数,然后启动nginx,就可 ...