原文:SQL Server Log文件对磁盘的写操作大小是多少

SQL Server 数据库有三种文件类型,分别是数据文件、次要数据文件和日志文件,其中日志文件包含着用于恢复数据库的所有日志信息,SQL Server总是先写日志文件ldf,数据变化写入mdf则可以滞后,所以日志写入的速度在一定程序上决定了SQL Server所能承载的写事务量,那么ldf写入大小是多少呢?

要知道SQL Server写 Log的大小,这里使用工具Process Monitor

这里设置一个Filter,以满足只收集SQL Server 写日志,如下图所示:

在一个OLTP生产环境的结果分析如下:
从中可以看到这个UserDB.ldf的Log写入是顺序写,写入大小以1024byte为主

通过上面的结果,针对Log文件ldf的写要求,我们在选择磁盘及RAID时,如何来做呢?推荐使用工具SQLIO来做一个针对单线程顺序写1kb硬件性能比对测试,来模拟Log写操作,这个将在以后的文章里进行测试。

那么,SQL Log写入ldf一定是以1024byte最多吗?这个不一定的,以下是在另外的OLTP下得到的结果:

下面这个是Tempdb:

那么你的是多少呢?可以用Process Monitor下测下。
Process Monitor下载地址

收集到的数据存成Logfile.CSV.

然后用下列语句进行分析:

USE tempdb
GO
CREATE TABLE [dbo].[Logfile]
(
[Time of Day] [nvarchar](MAX) NULL ,
[Process Name] [nvarchar](MAX) NULL ,
[PID] [nvarchar](MAX) NULL ,
[Operation] [nvarchar](MAX) NULL ,
[Path] [nvarchar](MAX) NULL ,
[Result] [nvarchar](MAX) NULL ,
[Detail] [nvarchar](MAX) NULL
)
ON [PRIMARY] GO BULK INSERT [Logfile] FROM 'D:\Tmp\Logfile.CSV'
WITH (
FIELDTERMINATOR =',',
FIRSTROW=2
) SELECT [Time of Day] ,
[Process Name] ,
PID ,
Operation ,
REPLACE(PATH, 'DBname', 'myDB') AS Path ,
Result ,
Detail
FROM [Logfile]
--WHERE PATH LIKE '%DBname%' SELECT SUBSTRING(detail, CHARINDEX('Length:', detail) + 7,
CHARINDEX('Flags', detail) - CHARINDEX('Length:', detail)
- 13) AS size
INTO #
FROM [Logfile]
WHERE PATH LIKE '%HighEndSeekerDB%' SELECT size AS [SIZE(Bypte)] ,
COUNT(*) AS CNT ,
LTRIM(CAST(COUNT(*) * 1.0 / ( SELECT COUNT(*)
FROM #
) * 100 AS NUMERIC(18, 4))) + '%' AS ratio
FROM #
GROUP BY size
--ORDER BY count(*) desc
--ORDER BY CAST(REPLACE(size, ',', '') AS BIGINT)
ORDER BY ratio DESC

  

SQL Server Log文件对磁盘的写操作大小是多少的更多相关文章

  1. XEvent – SQL Server Log文件对磁盘的写操作大小是多少

    原文:XEvent – SQL Server Log文件对磁盘的写操作大小是多少 本篇是上一篇SQL Server Log文件对磁盘的写操作大小是多少的续,使用XEvent收集SQL Server D ...

  2. 人人都是 DBA(V)SQL Server 数据库文件

    SQL Server 数据库安装后会包含 4 个默认系统数据库:master, model, msdb, tempdb. SELECT [name] ,database_id ,suser_sname ...

  3. SQL Server数据库文件与文件组总结

    文件和文件组概念 关于文件与文件组,简单概括如下,详情请参考官方文档"数据库文件和文件组Database Files and Filegroups"或更多相关资料: 数据文件概念: ...

  4. SQL Server 2008文件与文件组的关系

    此文章主要向大家讲述的是SQL Server 2008文件与文件组,其中包括文件和文件组的含义与关系,文件.文件组在实践应用中经常出现的问题,查询文件组和文件语句与MSDN官方解释等相关内容的介绍. ...

  5. SQL Server日志文件庞大收缩方法(实测好用)

    原文:SQL Server日志文件庞大收缩方法(实测好用) 这两个命令连续执行,间隔时间越少越明显(可多次运行),直到达到效果 --截断 BACKUP LOG CloudMonitor TO DISK ...

  6. SQL Server Log Shipping学习总结

      SQL Server的日志传送(log shipping)技术一直比较鸡肋,尤其当SQL Server 推出了Always On技术以后,估计使用日志传送(log shipping)这种技术方案的 ...

  7. 误删SQL Server日志文件后怎样附加数据库

    SQL Server日志文件因为误操作被删除,当附加数据库的时候提示:附加数据库失败. 解决办法如下: 1.新建一个同名数据库. 2.停止数据库服务,覆盖新建的数据库主文件(小技巧:最好放在同一个磁盘 ...

  8. SQL Server日志文件过大 大日志文件清理方法 不分离数据库

    SQL Server日志文件过大    大日志文件清理方法 ,网上提供了很多分离数据库——〉删除日志文件-〉附加数据库 的方法,此方法风险太大,过程也比较久,有时候也会出现分离不成功的现象.下面的方式 ...

  9. SQL Server 表的管理_关于事务操作的详解(案例代码)

    SQL Server 表的管理_关于事务操作的详解(案例代码) 1.概念 事务(transaction): 是将多个修改语句组合在一起的方法,这个方法中的所有语句只有全部执行才能正确完成功能.即要么全 ...

随机推荐

  1. Nginx禁止特定用户代理(User Agents)访问(转)

    Nginx可以通过各种方式来限制访问,例如NGINX基本Http认证.allow/deny等等,这些都是前文提过的,今天来看看nginx如果通过用户代理来禁止访问. user agent是什么? 用户 ...

  2. POJ3623:Best Cow Line, Gold(后缀数组)

    Description FJ is about to take his N (1 ≤ N ≤ 30,000) cows to the annual"Farmer of the Year&qu ...

  3. canvas绘制百分比圆环进度条

    开发项目,PM会跟踪项目进度:完成某个事情,也可以设置一个完成的进度. 这里用canvas绘制一个简单百分比圆环进度条. 看下效果: 1. 动画方式   2. 静默方式   // 贴上代码,仅供参考 ...

  4. Java下拼接执行动态SQL语句(转)

    在实际业务中经常需要拼接动态SQL来完成复杂数据计算,网上各类技术论坛都有讨论,比如下面这些问题: http://bbs.csdn.net/topics/390876591 http://bbs.cs ...

  5. Android使用开源项目Xutils实现多线程下载文件

    #1.下载utils项目 https://github.com/wyouflf/xUtils #2布局文件里实现UI <LinearLayout xmlns:android="http ...

  6. Windows创建的基本含义和进程的进程的内核

    过程 1 这意味着过程: 1.1   一个是在操作系统的内核对象管理处理. 的统计信息的地方. 1.2   还有一个是地址空间.它包括全部可运行模块或DL L 模块的代码和数据.它还包括动态内存分配的 ...

  7. 查看SQLServer 代理作业的历史信息

    原文:查看SQLServer 代理作业的历史信息 不敢说众所周知,但是大部分人都应该知道SQLServer的代理作业情况都存储在SQLServer5大系统数据库(master/msdb/model/t ...

  8. angularJS socket

    工程Controller加载文件Service层socket.js.controller所在页面时连接socket(也可一进入项目就连接,看需求).细节还需继续优化,写下来以防忘了~ Service层 ...

  9. Android使用代码消除App数据并重新启动设备

    /** * 使用代码消除App数据 * 我们不寻常的清除App数据,中找到相应的App * 然后选择其清除数据.以下给出代码实现. * * 注意事项: * 1 设备须要root * 2 该演示样例中删 ...

  10. STL源代码分析——STL算法merge合并算法

    前言 因为在前文的<STL算法剖析>中.源代码剖析许多.不方便学习.也不方便以后复习,这里把这些算法进行归类.对他们单独的源代码剖析进行解说.本文介绍的STL算法中的merge合并算法. ...