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命令,日志文件缩小成功。

时间: 2024-10-10 13:24:55

sqlserver2008 日志文件压缩的完整解决办法的相关文章

关于Excel文件导入到Sqlserver2008中出现截断错误的解决办法

出现错误的可能原因: 1.数据库字段Varchar长度不够: 2.不能用Text类型: 3.数据中可能存在换行符: 4.数据项文本过长,超过4000: 5.前8行的最大长度不够大,后面有超过的. 解决办法: 1.修改Varchar长度为足够长: 2.替换掉换行符(可手工输入一个换行符,复制到替换文本框中,Office中可按住Alt键,从小键盘输入10,再松开Alt键): 3.第一行中记录设足够长,导入后再替换: 4.把Excel文件存为2007格式,可解决导入后很多数据项为NULL的问题: 5.

使用log4net无法将日志记录插入mysql数据库解决办法

写在前面 今天没事研究了下,将日志文件写入mysql数据库,因为新公司用的数据库也是mysql,项目中需要将日志信息写入数据库,没办法,就研究了下.在使用过程中遇到一个很蛋疼的问题.最后解决了,郁闷了半天.这里做一下记录,以免再犯. 之前写个这方面的文章,关于配置信息,可参考我的这篇文章:Log4Net日志记录两种方式 解决办法 问题就出在我直接将log4net写入数据库的配置文件log4net.config直接复制过来在项目中使用了,当然是修改了连接字符串,提供程序等与mysql相关的配置.配

SQL Server 2008 R2 附加数据库 “尝试打开或创建物理文件 拒绝访问”的解决办法

其实是来自一篇SQL Server 2005同样错误的帖子,不过试了在SQL Server 2008 R2下面也有效,记录一下. 解决方法: 在所有程序—Microsoft SQL Server 2008 R2—配置工具—SQL Server 配置管理器,点击"SQL Server 服务",右边会显示正在运行的服务,以及对应的用户,右击SQL Server (MSSQLSERVER),选择“属性”,把内置帐户选择为"Local System",点击重新启动就OK了.

asp.net 未能写入输出文件--“拒绝访问”的解决办法

? 概述 将网部署在IIS 7 上,访问本地磁盘路径的时候,提示"**文件拒绝访问". ? 解决办法 ? 将需要访问的文件夹赋于IIS_IUSRS完全控制的权限即可,不用添加NETWORK SERVICE用户的权限. ?

window2008 64位系统无法调用Microsoft.Office.Interop组件进行文件另存的解决办法

服务器是windows server2008 64位系统,项目中需要用到Microsoft.Office.Interop组件,包括excel.word.ppt等. 重点一: 步骤 1.在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务" 2.依次双击"组件服务"->"计算机"->"我的电脑"->"DCOM配置" 3.在"

ubuntu密码忘了、sudoers文件坏了等解决办法

1.开机狂按shift键,进入grub页面,用上下键移到第二行的恢复模式,按e(注意不是回车) 即Ubuntu,With Linux 3.2.0-23-generic(recovery mode) 2.把ro recovery nomodeset 改成rw single init=/bin/bash 然后按ctrl+x 或者F10 就可以进入 单用户模式 然后就是root权限的shell了,修复之前愚蠢的错误吧,包括重设密码什么的都可以. ubuntu密码忘了.sudoers文件坏了等解决办法,

eclipse android 不会自动生成R.java文件和包的解决办法

eclipse下编写android程序突然不会自动生成R.java文件和包的解决办法 我的eclipse原来是好好的,什么问题都没有的,结果今天一打开新建一个android程序,发现工程里不会自动生成R.java文件了,导入其他工程也一样不行. 前几天安装了NDK开发环境,不知道是这个影响到的还是ADT升级了没有升级导致的. 这个问题网上搜索了下确定不是eclipse的问题,应该是ADT插件的问题,建议重新安装ADT插件. 我重装后先在好了,其他方法试了很多都不起作用.总结:eclipse不会自

无法打开BCP主数据文件的一种解决办法

今天在导出数据库的时候遇到了这个问题,网上搜索了很多办法都无法解决! 最后发现是目录不存在导致的,但是提示是“无法打开BCP主数据文件” 如果出现这个提示检测下,目录是否存在! 标签: Sql2005 无法打开BCP主数据文件的一种解决办法

安装wps导致 application/kset 上传文件类型报错解决办法

电脑中安装wps上传execl时,上传.xls文件时 报错 application/kset 文件类型不正确 打印array() print_r($_FILES ) 结果如下: Array ( [userfile] => Array ( [name] => Template.xls[type] => application/kset[tmp_name] => C:\\Windows\\temp\\phpACC.tmp [error] => 0 [size] => 768