zoukankan      html  css  js  c++  java
  • sqlserver2008 日志文件压缩的完整解决办法

    在项目中数据库创建了一个本地发布和订阅,造成日志文件飞涨,想把日志文件缩小。

    1:最初使用了最常用的方法:

    USE [master]
    GO
    ALTER DATABASE 库名 SET RECOVERY SIMPLE WITH NO_WAIT
    GO
    ALTER DATABASE 库名 SET RECOVERY SIMPLE --简单模式
    GO
    USE 库名
    GO
    DBCC SHRINKFILE (N'库名_log' , 11, TRUNCATEONLY)
    GO
    
    --这里的DNName_Log 如果不知道在sys.database_files里是什么名字的话,可以用以下注释的语句进行查询
    --USE 库名
    --GO
    --SELECT file_id,name FROM  sys.database_files;
    --GO
    
    USE [master]
    GO
    ALTER DATABASE SCDMS SET RECOVERY FULL WITH NO_WAIT
    GO
    ALTER DATABASE SCDMS SET RECOVERY FULL --还原为完全模式
    GO

    结果发现不起作用

    2:然后在网上查找命令,找到日志文件类型为 REPLICATION 即发布状态

    3:又查找到执行命令 ,该命令显示很多status为2的日志,即没有提交的。 

    DBCC LOGINFO('数据库名称')

    4:直接选择我之前创建的发布,提示以下错误:

       sqlserver无法作为数据库主体执行,因为主体 "dbo" 不存在... 

        查找到以下命令,为用户添加数据库角色时提示已经存在此帐号请查看数据库下是否已经存在该帐号并删除重新授权  

    USE 库名
    EXEC sp_changedbowner 'sa'

    5:然后再删除发布和订阅即成功。最后再执行第一步的SQL命令,日志文件缩小成功。

     
     
  • 相关阅读:
    Nginx目录结构与配置文件详解
    最新Sql语句来啦
    一个小工具帮你搞定实时监控Nginx服务器
    javascript学习笔记基于对象续
    Buffer解析
    使用用户自定义控件实现asp.net的的权限管理
    asp.net java 的十大关键技术
    程序员的基本素质
    无法编译的异常解决
    程序员的健康作息时间 该看看啊
  • 原文地址:https://www.cnblogs.com/coolsundy/p/5845645.html
Copyright © 2011-2022 走看看