精华内容
下载资源
问答
  • 收缩数据库日志

    2018-05-29 00:34:00
    收缩数据库日志 原文:收缩数据库日志 USE DATABASENAME; GO --不得已时再用这个 DUMP TRANSACTION DATABASENAME WITH NO_LOG --先截断事务日志 BACKUP LOG DATABASENAME TRUNCATE_ONLY|WITH...
    原文:收缩数据库日志

    USE DATABASENAME;
    GO
    --不得已时再用这个
    DUMP TRANSACTION DATABASENAME WITH NO_LOG
    
    
    --先截断事务日志
    BACKUP LOG DATABASENAME TRUNCATE_ONLY|WITH NO_LOG|TO DISK='文件路径'
    
    
    --再收缩日志
    DBCC SHRINKFILE (2, 7)|SHRINKFILE (DATABASENAME);
    --要收缩的文件的fileid,对应sysfiles中的fileid。 
    --收缩文件到7 MB大小,如果没有指定,DBCC SHRINKFILE 将文件大小减少到初始默认文件大小
    GO

    注意:收缩完日志后建议。立即进行完整备份。因为日志被截断,很难恢复之前的数据。

      在命令参考手册中的dump transaction with no_log条目下,有一条警告信息告诉你,你应该把这条命令作为没有其它办法时的最后一招才使用它。
    若你在对数据库的修改发生时使用dump transaction with no_log,你就会冒整个数据库崩溃的风险。在多数情况下,它们被反映成813或605错误。为了在数据库被修改时,删除transaction log中的不活跃部分可使用dump transaction with trancate_only。这条命令写进transaction log时,并且它还做不要的并发性检查。这两条命令都有与其相关的警告,在命令参考手册中会看到这些警告。请确保在使用其中任一条命令以前,你已理解这些警告和指示。 Syase提供dump transaction with no_log来处理某些非常紧迫的情况。为了尽量确保你的数据库的一致性,你应将其作为“最后一招”。

    posted on 2018-05-29 00:34 NET未来之路 阅读(...) 评论(...) 编辑 收藏

    转载于:https://www.cnblogs.com/lonelyxmas/p/9103068.html

    展开全文
  • --sqlserver收缩日志收缩数据库日志 --查询出数据库对应的日志文件名称 DECLARE @strDBName AS NVARCHAR(500) DECLARE @strLogName AS NVARCHAR(500) DECLARE @strSQL AS NVARCHAR(1000) SELECT @strLogName = B....

     

    --sqlserver收缩日志收缩数据库日志
    --查询出数据库对应的日志文件名称
    DECLARE @strDBName AS NVARCHAR(500)
    DECLARE @strLogName AS NVARCHAR(500)
    DECLARE @strSQL AS NVARCHAR(1000)
    SELECT  @strLogName = B.name, @strDBName = A.name
    FROM    master.sys.databases AS A
    INNER JOIN sys.master_files AS B ON A.database_id = B.database_id
    WHERE   A.database_id = DB_ID('数据库名称')
     --DB_ID()

    SET @strSQL = '
    use [' + @strDBName + ']
    --ALTER DATABASE [' + @strDBName + ']  SET RECOVERY SIMPLE WITH NO_WAIT;
    ALTER DATABASE [' + @strDBName + '] SET RECOVERY SIMPLE;
    DBCC SHRINKFILE (''' + @strLogName + ''' , 5 );
    --ALTER DATABASE [' + @strDBName + ']  SET RECOVERY FULL WITH NO_WAIT
    ALTER DATABASE [' + @strDBName + '] SET RECOVERY FULL '
    EXEC(@strSQL)

     

    展开全文
  • SQLServer收缩数据库日志的方法1、查看数据库日志大小2、收缩数据库 1、查看数据库日志大小 dbcc sqlperf(logspace) 2、收缩数据库 比如数据库名称为ZYWY,则语句如下: USE ZYWY; GO -- Truncate the log by ...

    SQLServer收缩数据库日志的方法

    1、查看数据库日志大小

    dbcc sqlperf(logspace)
    

    2、收缩数据库

    比如数据库名称为ZYWY,则语句如下:

    USE ZYWY;
    GO
    -- Truncate the log by changing the database recovery model to SIMPLE.
    ALTER DATABASE ZYWY
    SET RECOVERY SIMPLE;
    GO
    -- Shrink the truncated log file to 1 MB.
    DBCC SHRINKFILE (ZYWY_log, 100);
    GO
    -- Reset the database recovery model.
    ALTER DATABASE ZYWY
    SET RECOVERY FULL;
    GO
    
    展开全文
  • 主要介绍了使用alwayson后如何收缩数据库日志,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
  • 批量收缩数据库日志文件

    千次阅读 2014-06-23 14:44:30
    用脚本自动收缩数据库日志文件,当然你也可以稍加修改实现收缩数据库。
    declare @sql nvarchar(max),@paramDef nvarchar(100)
    declare dbname scroll cursor for 
      select name,recovery_model from sys.databases where database_id>7
    open dbname
    
    declare @dbname varchar(50),@recovery_model int,@db_log_file varchar(100)
    set @dbname=''
    fetch first from dbname into @dbname,@recovery_model
    while @@FETCH_STATUS=0
    begin
      --alter recovery model
      if (@recovery_model<>3)
      begin
        set @sql=N' alter database '+@dbname+' set RECOVERY  SIMPLE '
        print 'Recovery :'+@sql
       exec sp_executesql @sql
      end
      --get log file of database
      set @sql=N'select @log_file=name from '+@dbname+'.sys.database_files where type=1'
      set @paramDef= N'@log_file varchar(100) OUTPUT '
      exec sp_executesql @sql,@paramDef,@log_file=@db_log_file output
      print @db_log_file 
      
      --shrink file
      set @sql= N'USE ['+@dbname+'] DBCC SHRINKFILE  ('+@db_log_file+')'
      exec sp_executesql @sql
      
      fetch next from dbname into @dbname,@recovery_model
    end
    close dbname
    deallocate dbname


    
    
    展开全文
  • 本篇文章小编给大家分享一下使用alwayson后收缩数据库日志方法代码解析,文章介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。问题描述:在使用了alwayson后,主从库实时...
  • 在SQL SERVER 2008 中 BACKUP LOG WITH TRUNCATE_ONLY 已不再被支持,要收缩数据库日志,首先需要通过将数据库恢复模式设置为 SIMPLE 来截断该文件。语句如下: USE DATABASENAME; GO -- Truncate the log by ...
  • 收缩数据库日志信息

    2013-11-20 17:38:59
    1、SQL SERVER数据库经常会碰到数据库日志文件把硬盘空间占满,建议使用命令定时进行数据库收缩 2、查看SQL SERVER数据库版本使用的命令。 3、定期清除多余的备份文件命令。
  • 收缩数据库日志文件

    2013-07-08 15:50:35
    对SQL Server 2005数据库日志文件进行收缩,释放空间。
  • sql server 2008收缩数据库日志

    千次阅读 2012-07-18 14:58:33
    sql server 2008收缩数据库日志 在SQL SERVER 2008 中 BACKUP LOG WITH TRUNCATE_ONLY 已不再被支持,要收缩数据库日志, 首先需要通过将数据库恢复模式设置为 SIMPLE 来截断该文件。语句如下:   USE DATABASE...
  • 收缩数据库日志 代码

    2011-10-21 21:42:15
    收缩日益壮大的数据库日志典型代码,可以稍作修改就可以使用
  • SQL2000删除数据库日志有两种方法一种方法:清空日志。1.打开查询分析器,输入命令DUMP TRANSACTION 数据库名 WITH NO_LOG2.再打开企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志...
  • BACKUP LOG [EMAS_BASE] TO DISK='NUL:' -- 备份事务日志,备份成NUL,就不用占硬盘空间 GO USE [EMAS_BASE]; GO DBCC SHRINKFILE (EMAS_BASE_1_Log, 7); --收缩数据库日志文件,收到7M GO ...
  • 由于数据库日志文件过大导致磁盘不够用,我们采取的解决办法是收缩数据库日志文件,但是有时候执行收缩操作的时候不成功也不报错,这就头疼了: 先看下,如何做收缩操作的吧: 将文件收缩到最小: ...
  • sql server收缩数据库日志

    千次阅读 2019-05-28 22:59:28
    平常我们会碰到数据库日志文件很多的情况,这个时候我们就需要如何收缩日志 收缩的文件夹如下所示: E:\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA 步骤如下: 第一步:备份日志 登入到主数据库 ...
  • 如何收缩数据库日志文件

    千次阅读 2011-01-25 23:56:00
    上网查了一下,很多人都遇到过这样的情况:数据库的数据文件才2G左右,但是日志文件就已经20G多,如何收缩数据库日志文件呢?大致的方法有以下几种:1.DUMP TRANSACTION database_name WITH NO_LOG 清空事务日志2.BACKUP ...
  • 数据库日志文件变为1M大小代码讲解收缩mssql2005数据库日志文件的方法,感兴趣的你可不要错过了哈,希望本文可以帮助到你
  • 在主从库同步时,收缩数据库是不起作用的。由于主数据库无法收缩,所以从数据库的日志也会一直跟着增长,造成磁盘空间一直增长。网上大量的收缩日志的方法,基本上都不管用,怀疑根本没有在实际环境中使用过,以下...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,829
精华内容 731
关键字:

收缩数据库日志