使用了SqlDependency后,数据库日志文件增长飞快

问题描述

程序中使用SqlDependency做了一个提醒的功能,之后发现数据库日志文件增长飞快,几天就达到了20G,大部分都是记录了这两个错误Thequerynotificationdialogonconversationhandle'{92BB494B-330B-E411-8E48-D850E6C394A8}.'closedduetothefollowingerror:'<?xmlversion="1.0"?><Errorxmlns="http://schemas.microsoft.com/SQL/ServiceBroker/Error"><Code>-8490</Code><Description>Cannotfindtheremoteservice&apos;SqlQueryNotificationService-e32e79ee-aada-435c-a8e9-1b1ad37c6a3e&apos;becauseitdoesnotexist.</Description></Error>'.Thequerynotificationdialogonconversationhandle'{88FCFA7E-300B-E411-8E48-D850E6C394A8}.'closedduetothefollowingerror:'<?xmlversion="1.0"?><Errorxmlns="http://schemas.microsoft.com/SQL/ServiceBroker/Error"><Code>-8470</Code><Description>Remoteservicehasbeendropped.</Description></Error>'.查了一下,有说是sqlserver本身的bug,但是,我用的是SQLServer2008r2,而且也都更新过了,其他的一些方案也都试过了,无果!有没有哪位高人知道的?还有一点儿,这篇文章没怎么看懂,他说的手动释放队列是什么意思,这个还没试过!

解决方案

解决方案二:
这边都没人的吗?大神在哪里!
解决方案三:
不记录日志就完了呀...有句sql是可以不记录日志的只执行下就好了具体google下
解决方案四:
引用2楼diaodiaop的回复:

不记录日志就完了呀...有句sql是可以不记录日志的只执行下就好了具体google下

亲,google已经打不开了,除了这个没有解决方法了吗!我觉得既然有错误日志,总是有原因的
解决方案五:
引用2楼diaodiaop的回复:

不记录日志就完了呀...有句sql是可以不记录日志的只执行下就好了具体google下

而且数据库是完整恢复模式,真的有不记录日志的sql吗?我先找找看吧!
解决方案六:
官方是提示打补丁,http://support.microsoft.com/kb/958186
解决方案七:
引用5楼wind_cloud2011的回复:

官方是提示打补丁,http://support.microsoft.com/kb/958186

这个我看到了,我用的是sql2008R2,那个是08的更新包,没有R2对应的,另外,其他该更新的我都更新过了
解决方案八:
应该还是你连接数据库时代码有问题,提示错误说连接远程服务连接不上,远程服务不存在等信息,
解决方案九:
引用7楼wind_cloud2011的回复:

应该还是你连接数据库时代码有问题,提示错误说连接远程服务连接不上,远程服务不存在等信息,

不可能啊,其他操作都没问题,就是这个提醒会有错,错误是Cannotfindtheremoteservice;becauseitdoesnotexistRemoteservicehasbeendropped
解决方案十:
如果不影响操作数据,只是形成这样的日志,在难以找到解决办法的情况下,你可以定时删除日志文件。
解决方案十一:
引用9楼wind_cloud2011的回复:

如果不影响操作数据,只是形成这样的日志,在难以找到解决办法的情况下,你可以定时删除日志文件。

太频繁了,基本一周左右就20G了,现在是加了一个维护计划,但总觉得治标不治本!
解决方案十二:
你写个程序,来判断日志文件大小 ,超过多少时就清除,这样就省事了。
解决方案十三:
楼上问题解决了没,遇上同样的问题不过是SQL2005补丁已打

时间: 2024-11-12 22:09:37

使用了SqlDependency后,数据库日志文件增长飞快的相关文章

没有数据库日志文件恢复数据库方法两则

恢复|数据|数据库 方法一 1.新建一个同名的数据库 2.再停掉sql server(注意不要分离数据库) 3.用原数据库的数据文件覆盖掉这个新建的数据库 4.再重启sql server 5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名) 6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用 数据库的脚本创建一个新的数据库,并将数据导进去就行了. USE MASTERGOSP_CONFIGURE ALLOW UPDATES,1

无数据库日志文件恢复sql server数据库方法两则

    方法一 1.新建一个同名的数据库 2.再停掉sql server(注意不要分离数据库) 3.用原数据库的数据文件覆盖掉这个新建的数据库 4.再重启sql server 5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名) 6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用 数据库的脚本创建一个新的数据库,并将数据导进去就行了. USE MASTERGOSP_CONFIGURE ALLOW UPDATES,1 RECON

sql点滴39—解决数据库日志文件过大的问题

原文:sql点滴39-解决数据库日志文件过大的问题 随着数据库使用时间增长,日志文件也在不停的增大,这里介绍几种方法减小这个文件的方法. 1.直接删除log文件 分离数据库.分离数据库之前一定要做好数据库的全备份,选择数据库--右键--任务--分离,如下图 将日志文件和数据文件复制粘贴到另外一个文件夹中以防万一.删除链接,如下图 直接删除日志文件,然后再附加数据库,如下图 附加的时候会自动将ldf文件和mdf文件都附加上,但是会提示找不到ldf文件,没关系,选中ldf文件这一行,点击下面的删除按

无数据库日志文件恢复数据库方法两则

  方法一 1.新建一个同名的数据库 2.再停掉sql server(注意不要分离数据库) 3.用原数据库的数据文件覆盖掉这个新建的数据库 4.再重启sql server 5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名) 6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用 数据库的脚本创建一个新的数据库,并将数据导进去就行了. USE MASTER GO SP_CONFIGURE 'ALLOW UPDATES',1 REC

数据库日志文件丢失时的恢复步骤

恢复|数据|数据库 The information in this article applies to: - Microsoft SQL Server 7.0,2000      数据库日志文件丢失时的恢复步骤Revision History:Version Date Creator Description 1.0.0.1 2003-3-25 郑昀 草稿        Implementation Scope:本文是用于向Microsoft SQL Server维护人员描述我误删除了数据库的事

ms sql server 2005数据库日志文件过大,需要清除或者清空

数据库:ms sql server 2005 任务:ms sql server 2005数据库日志文件过大,需要清除. 方法: backup log [你的数据库名称] WITH NO_LOGbackup log [你的数据库名称] WITH TRUNCATE_ONLYDBCC SHRINKDATABASE([你的数据库名称]) 说明: backup log 指定仅备份事务日志.该日志是从上一次成功执行的 LOG 备份到当前日志的末尾.备份日志之后,可能会截断事务复制或活动事务不再需要的空间.

关于数据库日志文件清空的问题

问题描述 关于数据库日志文件清空的问题 如何实现清空数据库日志文件的使用空间?不通过压缩数据库日志文件. 也就是在执行 dbcc sqlperf(logspace) 命令之后,出现的结果集中,有Database,Logsize,LogSpaceUsed(%),Status这四列数据. 怎么能实现,在不压缩LogSize的情况下,是LogSpaceUsed(%)的值变大. 对于SQL Server 2008的 USE [master] GO ALTER DATABASE DNName SET RE

SQL Server 2008 R2 下如何清理数据库日志文件

 USE [master] GO ALTER DATABASE [数据库名] SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE [数据库名] SET RECOVERY SIMPLE GO USE [数据库名] GO DBCC SHRINKFILE (N'[数据库日志文件名称]' , 0,TRUNCATEONLY) GO USE [master] GO ALTER DATABASE [数据库名] SET RECOVERY FULL WITH NO

使用作业自动清理数据库日志文件

原文:使用作业自动清理数据库日志文件        在上一篇文章中介绍了如何删除数据库日志文件,但是想想还是不是不方便需要手工操作,于是想结合作业实现自动清理日志文件,在清理日志文件时我加上了条件,当磁盘控空间不足多少M才会清理,下面介绍如何实现该功能.没有阅读上一篇文章的,可以通过传送门阅读(删除数据库日志文件的方法)! 阅读目录 SQL查询磁盘空间大小 存储过程添加作业 示例下载 回到顶部 SQL查询磁盘空间大小  采用内置的存储过程,即可查看各个磁盘可用空间   exec master..