简介 SQL Server中的事务日志无疑是SQL Server中最重要的部分之一。因为SQL SERVER利用事务日志来确保持久性(Durability)和事务回滚(Rollback)。从而还部分确保了事务的ACID属性.在SQL Server崩溃时,DBA还可以通过事务日志将数据恢复到指定的时间点。当SQL Server运转良好时,多了解一些事务日志的原理和概念显得并不是那么重要。但是,一旦SQL SERVER发生崩溃时,了解事务日志的原理和概念对于快速做出正确的决策来恢复数据显...
客户名称:深圳某科技信息有限公司数据库类型:sql2000数据库大小:20g故障经过电脑突然断电,软件就显示某数据库错误,无法连接,打开企业管理器,显示数 据库质疑,DBCC查询显示“ SQL Server 检测到基于一致性的逻辑 I/O 错误
pageid不正确、数据库日志文件丢失”。处理经过客户找到我们,然后我们让客户把数据库压缩发给我们,首先我们先对数据进行
检测分析,确定是“ I/O 错误 ”,然后我们就开始用我们的修复工具对数据进
...
环境: SSMS sql-server2016一、为数据库添加数据文件添加日志数据文件 以下是添加数据文件和日志文件的代码ALTER DATABASE [joinbest] ADD FILE ( NAME = N‘joinbest_2‘, FILENAME = N‘C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\joinbest_2.ndf‘ , SIZE = 8192KB , FILEGROWTH = 65536KB ) TO FILEGROUP [PRIMARY]ALTER DATABASE [joinbest] ADD FILE ( NAME = N‘joinbest_2_log‘, FILE...
背景:实施人员反馈 函数 select * from f_getHomeInfo(‘01‘,‘‘,‘‘)非常慢需要9秒,而以前只要1秒。操作:1、我把函数的内容拿出来运行,非常快,依然是1秒完成 2、我把函数的内容放到存储过程去执行,非常慢,需要9秒 3、对比函数的执行计划和SQL的执行计划,完全一样 4、仔细查看执行计划发现预估一行,实际3000多行,于是猜想是预估内存太少导致的问题,想要提高预估内存,就要提高预估行,于是我使用了...
为什么我们需要事务日志,可不可以删除或者不添加日志文件?答案是否定的,如果没有事务日志,你的数据库根本无法工作!事务日志支持以下操作:事务回滚如果用户或程序使用了Rollback 语句或者是数据库检测到了失败的操作 。 这些日志文件就会被用来做回滚。恢复未完成的事务如果你在数据库发生错误时重新启动数据库服务器(服务),可能发现数据库处于恢复模式(In Recovery),这表明数据库正在回滚服务器(服务)重启之前未完成的事...
过程: 昨天下午数据库奔溃,表现就是连不上数据库了,重启服务之后好了。 查询日文文件 , “Autogrow of file ‘XX_log‘ in database ‘XX‘ was cancelled by user or timed out after 1896 milliseconds. Use ALTER DATABASE to set a smaller FILEGROWTH value for this file or to explicitly set a new file size.”。 找到原因: 数据库在自动增长,所以连接超时。分析:数据库日志文件满了...
跟大家分享一下怎么缩小ms sql 的日志,因为使用时间长了,日志会膨胀得很夸张,所以可以执行以下sql语句,非常安全,我反复测试过很多遍:DUMP TRANSACTION 你的数据库名 WITH NO_LOGBACKUP LOG 你的数据库名 WITH NO_LOGDBCC SHRINKDATABASE(你的数据库名)EXEC sp_dboption ‘你的数据库名‘, ‘autoshrink‘, ‘TRUE‘ http://www.cnblogs.com/unruledboy/archive/2005/05/11/153034.html 一. SQL Server 2008 收缩日志 (1)...
1、设置数据库模式为简单模式:打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server-->SQL Server组-->双击打开你的服务器-->双击打开数据库目录-->选择你的数据库名称(如论坛数据库Forum)-->然后点击右键选择属性-->选择选项-->在故障还原的模式中选择“简单”,然后按确定保存 2、在当前数据库上点右键,看所有任务中的收缩数据库,一般里面的默认设置不用调整,直接点确定 3、收缩数据库完成后,建议将您的数据库属...
问题:
经常看到有人误删数据,或者误操作,特别是update和delete的时候没有加where,然后就喊爹喊娘了。人非圣贤孰能无过,做错可以理解,但不能纵容,这个以后再说,现在先来解决问题。 遇到这种情况,一般都是没有做备份,不然也不会来发问了。首先要冷静,否则会有更大的灾难。直到你放弃。解决方法: 对于这类问题,主要是找回误操作之前的数据,在2008之前,有个很出名的工具Log Exploer,听说还挺好用...
网上关于SQL Server 2005数据库日志丢失的处理方法基本上都是修改数据库系统表,但是我测试N多遍都不成功,最后用英文关键字Google了下,发现一个可行方法,折磨了我两天的问题得以解决。。。 背景说明:名为testdb的数据库丢失了日志文件,仅有数据文件testdb.mdf请先不要急于开始操作,如果你真的很急,请直接看我的成功试验方法(*下面的内容) 1.新建数据库testdb 2.停掉SQL Server服务器 3.删除刚刚创建好的testdb的日志文件tes...
--数据库日志名称查询USE DBNAMEGO SELECT file_id, name,* FROM sys.database_files; GO------------------------------------------------------------------------------------------------------- --SQL SERVER 2005 清理方法USE [master]BACKUP LOG DBNAME WITH no_logUSE APPDBCC SHRINKFILE (‘DBNAME_log‘,100)-------------------------------------------------------------------------------------------------------...
在项目中数据库创建了一个本地发布和订阅,造成日志文件飞涨,想把日志文件缩小。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 库名...
一 概述 默认情况下,SQL Server 代理创建错误日志来记录警告和错误。日志中显示下列警告和错误: 警告消息,提供有关潜在问题的信息,例如作业 在执行时被删除。 错误消息,通常需要系统管理员干预,例如无法启动邮件会话。可以通过 net send 将错误消息发 一 概述默认情况下,SQL Server 代理创建错误日志来记录警告和错误。日志中显示下列警告和错误:警告消息,提供有关潜在问题的信息,例如“作业 在执行时被删除”。错误...
前言:最近项目接近了尾声,随之而来的是维护问题,当然涉及到数据库的数据维护,通过资料和实际操作整理有关误操作后根据日志还原数据库。 前提:①必须有数据库的完整备份(做个备份计划);②数据库恢复模式是完整的(FULL)。 步骤:①发现误操作时,记录下时 前言:最近项目接近了尾声,随之而来的是维护问题,当然涉及到数据库的数据维护,通过资料和实际操作整理有关误操作后根据日志还原数据库。前提:①必须有数据库的完整...
从数据库备份中还原数据库的时候,发现日志文件居然有120多G,通过Sql Management不行,果断使用DBCC语句清理成功!释放了空间!且清且速度! 首先呢,要看看备份数据时候的类型,这个很重要,要不清理不的 select name, recovery_model_desc from sys.databases 从数据库备份中还原数据库的时候,发现日志文件居然有120多G,通过Sql Management不行,果断使用DBCC语句清理成功!释放了空间!且清且速度!首先呢,要看看备份数据时候的...