目录 什么是事务日志 事务日志的组成 事务日志大小维护方法 Truncate Shrink 索引碎片 总结 什么是事务日志 Transaction log   是对数据库管理系统执行的一系列动作的记录,并利用这些记录来保证在遭遇硬件故障,灾难情况下ACID的可用性.从物理上来说,事务日志就是一个记录对数据库更新操作的文件. 事务日志的组成 SQL Server 数据库引擎在内部将每个物理文件分为多个虚拟日志文件.虚拟日志文件没有固定大小和固定数量,这两个值是由数据库引擎动态决定的. 事务日志是一…
      早晨宁波那边的IT人员打电话告知数据库无法访问了.其实我在早晨也发现Ignite监控下的宁波的数据库服务器出现了异常,但是当时正在检查查看其它服务器发过来的各类邮件,还没等到我去确认具体情况,就收到了电话.我首先检查网络是否畅通,结果发现网络没有问题,然后远程登录到该服务器,查看了一下数据库的服务发现其运行正常,但是在本机使用MSSMS管理工具亦无法连接数据库,当下有两种方案:方案一:使用DAC登录数据库,检查具体情况,方案二:直接去查看错误日志,查看具体错误信息.于是为了快点找到原…
SQL Server数据库备份有两种方式,一种是使用BACKUP DATABASE将数据库文件备份出去,另外一种就是直接拷贝数据库文件mdf和日志文件ldf的方式.下面将主要讨论一下后者的备份与恢复.本文假定您能熟练使用SQL Server Enterprise Manager(SQL Server企业管理器)和SQL Server Quwey Analyser(SQL Server查询分析器)1.正常的备份.恢复方式 正常方式下,我们要备份一个数据库,首先要先将该数据库从运行的数据服务器中断开…
MySQL的redo log结构和SQL Server的log结构对比 innodb 存储引擎 mysql技术内幕 log buffer根据一定规则将内存中的log block刷写到磁盘,这个规则是 1.事务提交时 2.当log buffer 中有一半的内存空间已经被使用时 3.checkpoint时 跟sqlserver一样 mysql的重做日志的logblock是512字节,跟磁盘的扇区一样,重做日志写入可以保证原子性,不需要double write技术 mysql的重做log record…
当SQL Server截断事务日志时,它仅仅是在虚拟日志文件中做个标记,以便不再使用它,然后准备以重用形式来做备份(假如运载在完整或是批量日志恢复模型).也就是说,在使用简单恢复模型时,事务日志包括如下的日志记录: 当checkpoint发生时,虚拟日志文件1.2不再被使用,因为事务1.2已经被提交了,而且日志记录也不再需要回滚了.然后SQL Server重用虚拟日志文件1.2,如下图: 这就是我们所熟知的事务日志截断.基本上,事务日志的活动区间已经被截断了,但是事务日志的物理大小不会改变,除非…
数据库文件太大 SQL Server用的久了,会发现备份文件越来越大,这个其实主要是log文件的增加,删掉log文件就可以了.不过操作之前最好还是有个完整备份的好. 分离数据库 分离数据库,勾选删除链接,完成后,找到.ldf文件直接删除. 附加数据库 分离后资源管理器中是看不见这个数据库的,需要再次附加上线,找到.mdf文件附加,这个时候回提示.ldf文件找不到,删除这个文件项就好了. 完成…
本文转自: http://www.2cto.com/database/201208/146734.html sql事务(Transaction)用法介绍及回滚实例   事务(Transaction)是并发控制的单位,是用户定义的一个操作序列.这些操作要么都做,要么都不做,是一个不可分割的工作单位.通过事务,SQL Server能将逻辑相关的一组操作绑定在一起,以便服务器保持数据的完整性   当对多个表进行更新的时候,某条执行失败.为了保持数据的完整性,需要使用事务回滚.  显示设置事务  代码如…
1.概述 Log Shipping为SQL Server提供的数据库备份过程.它可以将数据库整个复制到另一台服务器上.在这种情况下,交易日志也会定期发送到备份服务器上供恢复数据使用,这使得服务器一直处于热备份状态,当数据发生改变时它也随之更新.它还提供了监视服务器(Monitor Server),可以用来监视按规定时间间隔发送的shipping信号.如果在规定时间内没有收到信号,监视服务器会将这一事件记录到事件日志.这种机制使得Log Shipping经常成为灾难恢复计划中使用的方案. 2.配置…
xp_readerrorlog 一共有7个参数: 1. 存档编号 2. 日志类型(1为SQL Server日志,2为SQL Agent日志) 3. 查询包含的字符串 4. 查询包含的字符串 5. LogDate开始时间 6. 结果排序,按LogDate排序(可以为降序"Desc" Or 升序"Asc") 7. 结果排序,按LogDate排序(可以为降序"Desc" Or 升序"Asc") 1)查询当前SQL Server日志信…
3.配置步骤: 主服务器(A机)设置 (1) 启用Log Shipping Configuration 右键单击需要配置日志传输的数据库->Tasks-> Ship Transaction Logs...->Enable this as a primary database in a log shipping configuration打钩 (2) 点击Backup Setting 建立backup的文件夹,Network path和local path 删除多长时间之前的日志文件 警告…
=================================版权声明================================= 版权声明:原创文章 禁止转载  请通过右侧公告中的“联系邮箱(wlsandwho@foxmail.com)”联系我 勿用于学术性引用. 勿用于商业出版.商业印刷.商业引用以及其他商业用途. 本文不定期修正完善. 本文链接:http://www.cnblogs.com/wlsandwho/p/5126708.html 耻辱墙:http://www.cnblo…
在T-SQL中这三个命令符,相信很多朋友都不会陌生的,我自己在工作也会常常使用到它们,虽然我们清除的知道用这三个命令符可以达到怎样的预期效果. 但是却很少深入的去了解它们,知道它们有什么区别,又各有什么优缺点,这是我们常常忽略的一点.下面我也来谈谈自己对这些命令符的理解. 相同点 delete.truncate.drop都可以删除指定表中的数据 不同点 1.delete 是删除表或结果集中的数据行,后可以带 where 子句. 2.truncate 删除表中的所有行,而不记录单个行删除操作.tr…
1.事务的概念 事物是一种机制,是一种操作序列,它包含了数据库一组操作命令,这组命令要么全部执行,要么都不执行.因此事物是一组不可分割的事物逻辑单元,在数据库进行并发操作时候,事物是作为最小的控制单元来使用的,这特别适用于多用户同时操作的数据通信系统.例如:订票.银行.保险公司以及证券交易系统等. 2.事物的4大属性 原子性:事物是一个完整的操作: 隔离性:对数据进行修改的所有并发事物都是彼此隔离的: 一致性:当事物完成时,事物必须处于一致的状态: 持久性:事物完成后,对于系统的影响是永久的:…
---SQL 2008 在SQL2008中清除日志就必须在简单模式下进行,等清除动作完毕再调回到完全模式. USE [master] go ALTER DATABASE PS SET RECOVERY SIMPLE WITH NO_WAIT go ALTER DATABASE PS SET RECOVERY SIMPLE --简单模式 go USE PS go , TRUNCATEONLY) go USE [master] go ALTER DATABASE PS SET RECOVERY FU…
CREATE DATABASE TestDB    ON    (    FILENAME ='D:\TestDB.mdf' --路径     ) for ATTACH_REBUILD_LOG    …
记在这里, 备用. select name, recovery_model_desc from sys.databases where name = 'WSS_Content_1000' USE WSS_Content_1000 ; ALTER DATABASE WSS_Content_1000 SET RECOVERY Simple; go use WSS_Content_1000 go checkpoint go checkpoint go dbcc shrinkfile(WSS_Conte…
  SQL Server的日志传送(log shipping)技术一直比较鸡肋,尤其当SQL Server 推出了Always On技术以后,估计使用日志传送(log shipping)这种技术方案的企业越来越少,但是日志传送也有自己的一些优点,有些特殊场景或业务背景下也有其存在的价值.最近由于特殊业务场景可能需要用到这个技术,所以做了一些测试和验证,比对一些知识做了一下总结.归纳.下面有部分内容从官方文档摘抄.此篇是总结性内容.如有不足,敬请指点! 日志传送(Log Shipping)介绍  …
原文:SQL Server Log文件对磁盘的写操作大小是多少 SQL Server 数据库有三种文件类型,分别是数据文件.次要数据文件和日志文件,其中日志文件包含着用于恢复数据库的所有日志信息,SQL Server总是先写日志文件ldf,数据变化写入mdf则可以滞后,所以日志写入的速度在一定程序上决定了SQL Server所能承载的写事务量,那么ldf写入大小是多少呢? 要知道SQL Server写 Log的大小,这里使用工具Process Monitor 这里设置一个Filter,以满足只收…
http://sqlserverbuilds.blogspot.jp/   What version of SQL Server do I have? This unofficial build chart lists all of the known Service Packs (SP), Cumulative Updates (CU), patches, hotfixes and other builds of MS SQL Server 2016, 2014, 2012, 2008 R2,…
原帖地址 What version of SQL Server do I have? This unofficial build chart lists all of the known Service Packs (SP), Cumulative Updates (CU), patches, hotfixes and other builds of MS SQL Server 2014, 2012, 2008 R2, 2008, 2005, 2000, 7.0, 6.5 and 6.0 tha…
非常全面的SQL Server巡检脚本来自sqlskills团队的Glenn Berry 大牛 Glenn Berry 大牛会对这个脚本持续更新 -- SQL Server 2012 Diagnostic Information Queries -- Glenn Berry -- April 2015 -- Last Modified: April 27, 2015 -- http://sqlserverperformance.wordpress.com/ -- http://sqlskills…
非常全面的SQL Server巡检脚本来自sqlskills团队的Glenn Berry Glenn Berry 曾承诺对这个脚本持续更新 -- SQL Server 2012 Diagnostic Information Queries -- Glenn Berry -- April 2015 -- Last Modified: April 27, 2015 -- http://sqlserverperformance.wordpress.com/ -- http://sqlskills.co…
Complete list of Microsoft SQL Server trace flags (585 trace flags) REMEMBER: Be extremely careful with trace flags, test in your test environment first. And consult professionals first if you are the slightest uncertain about the effects of your cha…
--查询当前连接的实例名 select @@servername --察看任何数据库属性 sp_helpdb master --设置单用户模式,同时立即断开所有用户 alter database Northwind set single_user with rollback immediate --恢复正常 alter database Northwind set multi_user --察看数据库属性 sp_helpdb --察看数据库恢复模式 select databaseproperty…
原文:2. SQL Server数据库状态监控 - 错误日志 无论是操作系统 (Unix 或者Windows),还是应用程序 (Web 服务,数据库系统等等) ,通常都有自身的日志机制,以便故障时追溯现场及原因.Windows Event Log和 SQL Server Error Log就是这样的日志, PS: SQL Server 中的错误日志 (Error Log) 类似于 Oracle中的alert 文件. 一. 错误日志简介 1. Windows事件日志与SQL Server 错误日志…
SQL Server Always On Availability Group 配置步骤:配置三台 Linux 集群节点创建 Availability Group配置 Cluster Resource Manager, 比如 Pacemaker在集群中添加 Availability Groups详细解说1. 配置三台 Linux 集群节点在集群中的三台服务器之间可以互相通信安装 SQL Server在 Linux 上,往集群管理器中添加集群资源时,一定是先建立集群资源,接着将新建的资源加入到集群…
1.需求背景 系统程序突然报错,报错信息如下: The transaction log for database '@dbname' is full. To find out why space in the log cannot be reused, see the log_reuse_wait_desc column in sys.databases 此时查看log文件,已达2T. 当时的紧急处理方案是,移除掉镜像,修改数据库恢复模式(由full修改为simple),收缩日志. 为了防止类似…
从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www.cnblogs.com/lyhabc/p/4682028.html第三篇http://www.cnblogs.com/lyhabc/p/4682986.html第四篇http://www.cnblogs.com/lyhabc/p/6136227.html 这一篇是从0开始搭建SQL Serve…
Change the Target Recovery Time of a Database (SQL Server) 间接checkpoints   flushcache flushcache-message https://msdn.microsoft.com/en-us/library/hh403416.aspx 间接checkpoints在SQL Server2012开始引入 sql2012的target recovery time就是强制做checkpoint,强制人工干预之前的reco…
Query #13 SQL Server Error Log(FC) -- Shows you where the SQL Server failover cluster diagnostic log is located and how it is configured SELECT is_enabled, [path], max_size, max_files FROM sys.dm_os_server_diagnostics_log_configurations WITH (NOLOCK)…